<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ structured data - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ structured data - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 27 Jul 2026 10:32:02 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/structured-data/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Feature Engineering Techniques for Structured Data – Machine Learning Tutorial ]]>
                </title>
                <description>
                    <![CDATA[ Feature engineering is an essential step in the data preprocessing process, especially when dealing with tabular data.  It involves creating new features (columns), transforming existing ones, and selecting the most relevant attributes to improve the... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/feature-engineering-techniques-for-structured-data/</link>
                <guid isPermaLink="false">66ba2d081035580809ab845c</guid>
                
                    <category>
                        <![CDATA[ Machine Learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ structured data ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ ‘Funmi ]]>
                </dc:creator>
                <pubDate>Mon, 27 Nov 2023 21:13:30 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/11/pexels-pawe--l-1320737--1-.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Feature engineering is an essential step in the data preprocessing process, especially when dealing with tabular data. </p>
<p>It involves creating new features (columns), transforming existing ones, and selecting the most relevant attributes to improve the performance and accuracy of machine learning models. </p>
<p>Feature engineering helps the model understand the data’s underlying patterns, relationships, and nuances. It plays a crucial role in the success of a machine learning project, as it can turn a good model into a great one by optimizing the input features. Effective feature engineering also leads to faster training times, and more interpretable results.</p>
<p>Before delving into the realm of feature engineering, you need to recognize the pivotal role of data cleaning in ensuring the success of Feature Engineering. Addressing missing values, handling outliers, and resolving inconsistencies not only improves the integrity of the data but also establishes a solid groundwork for subsequent feature extraction and transformation.</p>
<p>In this tutorial, we'll explore the concept of feature engineering for structured data. We'll cover some techniques such as feature scaling, feature creation, feature selection, and binning. We'll use a hypothetical dataset to demonstrate these various feature engineering techniques.</p>
<p>Let's start by creating some dummy data.</p>
<h2 id="heading-how-to-create-dummy-data">How to Create Dummy Data</h2>
<p>We'll use Python and the <code>pandas</code> library to create a dummy dataset for our feature engineering examples. Here's how you can generate dummy data:</p>
<pre><code class="lang-python">
<span class="hljs-keyword">import</span> pandas <span class="hljs-keyword">as</span> pd
<span class="hljs-keyword">import</span> numpy <span class="hljs-keyword">as</span> np
<span class="hljs-comment"># Create a sample dataframe</span>
data = {
<span class="hljs-string">'Age'</span>: [<span class="hljs-number">25</span>, <span class="hljs-number">30</span>, <span class="hljs-number">35</span>, <span class="hljs-number">40</span>, <span class="hljs-number">45</span>],
<span class="hljs-string">'Income'</span>: [<span class="hljs-number">50000</span>, <span class="hljs-number">60000</span>, <span class="hljs-number">75000</span>, <span class="hljs-number">90000</span>, <span class="hljs-number">80000</span>],
<span class="hljs-string">'Education'</span>: [<span class="hljs-string">'High School'</span>, <span class="hljs-string">'Bachelor'</span>, <span class="hljs-string">'Master'</span>, <span class="hljs-string">'Ph.D.'</span>, <span class="hljs-string">'Bachelor'</span>],
<span class="hljs-string">'City'</span>: [<span class="hljs-string">'New York'</span>, <span class="hljs-string">'San Francisco'</span>, <span class="hljs-string">'Chicago'</span>, <span class="hljs-string">'Los Angeles'</span>, <span class="hljs-string">'Miami'</span>],
<span class="hljs-string">'Gender'</span>: [<span class="hljs-string">'Male'</span>, <span class="hljs-string">'Female'</span>, <span class="hljs-string">'Male'</span>, <span class="hljs-string">'Female'</span>, <span class="hljs-string">'Male'</span>],
<span class="hljs-string">'Productivity'</span>: [<span class="hljs-number">5</span>, <span class="hljs-number">4</span>, <span class="hljs-number">3</span>, <span class="hljs-number">2</span>, <span class="hljs-number">4</span>]
}
df = pd.DataFrame(data)
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1026.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>As seen above,  the dummy dataset created consists of six features: 'Age,' 'Income,' 'Education,' 'City,' 'Gender,' and 'Productivity.'</p>
<p>Now, let's explore different feature engineering techniques.</p>
<h2 id="heading-one-hot-encoding">One-Hot Encoding</h2>
<p>One-hot encoding is a method used to convert categorical variables into a binary matrix. Our dataset has some columns filled with words such as gender, education, and cities. </p>
<p>But machines like numbers, not words. So we’ll use a technique called one-hot encoding. It’s like giving each category its own switch – either it’s on (1) or off (0). It creates a binary column for each category within a categorical feature. </p>
<p>This technique is essential because many machine learning algorithms cannot work directly with categorical data.</p>
<h3 id="heading-one-hot-encoding-example">One-Hot Encoding Example</h3>
<p>Let's apply one-hot encoding to the 'Education' , 'City' and 'Gender' columns in our dataset. We'll use the <code>get_dummies</code> function from <code>pandas</code> for this purpose:</p>
<pre><code class="lang-python"><span class="hljs-comment">## Perform one-hot encoding</span>
df_encoded = pd.get_dummies(df, columns=[<span class="hljs-string">'Education'</span>, <span class="hljs-string">'City'</span>, <span class="hljs-string">'Gender'</span>])
</code></pre>
<p>After one-hot encoding, our dataset will now have binary columns for each category within 'Education' 'City' and 'Gender'. This transformation allows machine learning models to understand and utilize these categorical variables effectively.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1028.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>As you can see in the image above, the categorical columns are now being transformed into a binary matrix.</p>
<h2 id="heading-feature-scaling">Feature Scaling</h2>
<p>Feature scaling is crucial when working with numerical features that have different scales. Scaling ensures that all features contribute equally to the model, preventing any one feature from dominating the others. </p>
<p>In our data, ‘Age’ and ‘Income’ might have different scales. ‘Age’ might go from 0 to 100, while ‘Income’ could go from 20,000 to 200,000. Feature scaling makes them play nicely together by putting them on the same scale.</p>
<h3 id="heading-feature-scaling-example">Feature Scaling Example</h3>
<p>In our dataset, 'Age' and 'Income' have different scales. To scale these features, we'll use the <code>StandardScaler</code> from the <code>sklearn.preprocessing</code> module:</p>
<pre><code class="lang-python"><span class="hljs-keyword">from</span> sklearn.preprocessing <span class="hljs-keyword">import</span> StandardScaler
<span class="hljs-comment"># Initialize the StandardScaler</span>
scaler = StandardScaler()
<span class="hljs-comment"># Fit and transform the selected columns</span>
df_encoded[[<span class="hljs-string">'Age'</span>, <span class="hljs-string">'Income'</span>]] = scaler.fit_transform(df_encoded[[<span class="hljs-string">'Age'</span>, <span class="hljs-string">'Income'</span>]])
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1021-1.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>From the code output above, now we can see that the 'Age' and 'Income' have been scaled to have a mean of 0 and a standard deviation of 1. This makes them compatible for modeling and helps algorithms that rely on distances or gradients perform better.</p>
<h2 id="heading-feature-creation">Feature Creation</h2>
<p>Feature creation is one of the most pivotal techniques in Feature Engineering. It involves generating new features (columns) from existing ones to provide additional information to the model. It can help uncover complex relationships and patterns within the data. </p>
<p>Let’s say we mix ‘Age’ and ‘Income’ to create a new feature called ‘Income per Age’. This new feature might help our model understand how money and age are related.</p>
<h3 id="heading-feature-creation-example">Feature Creation Example</h3>
<p>In our dataset, we can create a new feature, 'Income per Age,' to capture the relationship between income and age. This can be a useful feature for certain prediction tasks:</p>
<pre><code class="lang-python"><span class="hljs-comment"># Create a new feature 'Income per Age'</span>
df_encoded[<span class="hljs-string">'Income per Age'</span>] = df_encoded[<span class="hljs-string">'Income'</span>] / df_encoded[<span class="hljs-string">'Age'</span>]
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1022.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>The 'Income per Age' feature provides a measure of income relative to age, which could be valuable in various modeling scenarios. With this an additional column has been created.</p>
<h2 id="heading-feature-selection">Feature Selection</h2>
<p>Feature selection is the process of choosing the most relevant features for a given modeling task. Reducing the number of features can improve model performance, reduce overfitting, and speed up training. It makes your model’s job easier because it doesn’t have to deal with unnecessary things.</p>
<h3 id="heading-feature-selection-example">Feature Selection Example</h3>
<p>Let's assume we want to select the most relevant features for predicting 'Productivity.' We can use feature selection techniques like Recursive Feature Elimination (RFE) with a linear regression model:</p>
<pre><code class="lang-python"><span class="hljs-keyword">from</span> sklearn.feature_selection <span class="hljs-keyword">import</span> RFE
<span class="hljs-keyword">from</span> sklearn.linear_model <span class="hljs-keyword">import</span> LinearRegression

<span class="hljs-comment"># Separate the target variable and the features</span>
X = df_encoded.drop(<span class="hljs-string">'Productivity'</span>, axis=<span class="hljs-number">1</span>)
y = df_encoded[<span class="hljs-string">'Productivity'</span>]

<span class="hljs-comment"># Initialize the linear regression model</span>
model = LinearRegression()

<span class="hljs-comment"># Perform RFE with cross-validation</span>
rfe = RFE(model, n_features_to_select=<span class="hljs-number">3</span>)  <span class="hljs-comment"># Select the top 3 features</span>
fit = rfe.fit(X, y)  <span class="hljs-comment"># Corrected: use X instead of x</span>

<span class="hljs-comment"># Print the selected features</span>
selected_features = X.columns[fit.support_]
print(<span class="hljs-string">'Selected Features:'</span>, selected_features)
</code></pre>
<p>From our data, we used RFE to select the top 3 features that are most relevant for predicting 'Productivity.' This reduces the dimensionality of the data and can improve model performance.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1023-1.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>This output  received indicates that, according to the Recursive Feature Elimination (RFE) process, the columns:  'Income', 'City_Miami', and 'Gender_Male' are considered the most important or informative for predicting the target variable 'Productivity' using a linear regression model.</p>
<p>Let's break down the interpretation:</p>
<ol>
<li><strong>Income:</strong> The 'Income' feature is likely identified as an important predictor. It suggests that, according to the RFE process, changes in income have a significant impact on predicting 'Productivity' based on the given linear regression model.</li>
<li><strong>City_Miami:</strong> The presence of 'City_Miami' as an important feature suggests that, in the context of our data, whether an individual is from Miami or not contributes significantly to predicting 'Productivity.'</li>
<li><strong>Gender_Male:</strong> Similarly, the 'Gender_Male' feature is considered important. This implies that, according to the model, the gender of an individual, specifically being male, is informative for predicting 'Productivity.'</li>
</ol>
<p>It's important to note that the interpretation of "importance" here is specific to the linear regression model used in combination with the RFE feature selection technique. RFE ranks features based on their contribution to the model's performance in predicting the target variable.</p>
<h2 id="heading-binning-and-bucketing">Binning and Bucketing</h2>
<p>Binning or bucketing involves grouping continuous numerical data into discrete intervals. It can help capture non-linear relationships and make modeling more robust.  </p>
<p>Let’s consider a practical example. Based on our dummy data, Instead of treating the "Age" column as a continuous variable, you decide to bin it into categories like "Young," "Mid-career," and "Senior" to better understand how age relates to productivity. </p>
<p>After your analysis, you might discover that employees in the "Mid-career" category tend to have the highest productivity levels. This doesn't mean that age directly causes productivity, but it suggests a potential relationship that could be influenced by factors such as experience, skill development, and familiarity with the job.</p>
<p>By binning age into categories, you've made the age-productivity relationship more interpretable, which can provide your model with more detailed information.</p>
<h3 id="heading-binning-example">Binning Example</h3>
<p>Let's say we want to create bins for the 'Age' feature. We can use the <code>cut</code> function from <code>pandas</code> to define bin boundaries:</p>
<pre><code class="lang-python"><span class="hljs-comment"># Create bins and labels for the single column</span>
bins = [-float(<span class="hljs-string">'inf'</span>), <span class="hljs-number">-0.5</span>, <span class="hljs-number">0.5</span>, float(<span class="hljs-string">'inf'</span>)]  <span class="hljs-comment"># Adjust the bin edges as needed</span>
labels = [<span class="hljs-string">'Young'</span>, <span class="hljs-string">'Mid_Career'</span>, <span class="hljs-string">'Senior'</span>]

<span class="hljs-comment"># Bin the Age column</span>
df_encoded[<span class="hljs-string">'Binned_Column'</span>] = pd.cut(df_encoded[<span class="hljs-string">'Age'</span>], bins=bins, labels=labels, right=<span class="hljs-literal">False</span>)

<span class="hljs-comment"># Print the updated DataFrame</span>
df_encoded
</code></pre>
<p>Binning 'Age' into discrete intervals allows the model to consider the age groups as a categorical feature, capturing non-linear relationships.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/11/IMG-1024-1.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Code Output</em></p>
<p>As you can see above, the 'Age' column has been transformed into a binned column, which further enhances the information given to the model.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Feature engineering techniques enables data scientists and machine learning practitioners to create more informative and relevant features for modeling. </p>
<p>In this tutorial, we explored various feature engineering techniques, including one-hot encoding, feature scaling, feature creation, feature selection, and binning.</p>
<p>Experiment with these techniques to enhance your data analysis and modeling capabilities. Remember that the choice of feature engineering techniques should be driven by the specific requirements of your project and the nature of your data.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why Using Structured Data Helps Your Website’s SEO ]]>
                </title>
                <description>
                    <![CDATA[ Few things are as exciting for a new developer as getting their first customers. The idea of putting one’s new coding knowledge to work can be exhilarating. There’s an important thing to remember though, especially if your customer is some type of sm... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/using-structured-data-helps-your-websites-seo/</link>
                <guid isPermaLink="false">66d4601dffe6b1f641b5fa28</guid>
                
                    <category>
                        <![CDATA[ schema ]]>
                    </category>
                
                    <category>
                        <![CDATA[ SEO ]]>
                    </category>
                
                    <category>
                        <![CDATA[ structured data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Luke Ciciliano ]]>
                </dc:creator>
                <pubDate>Wed, 28 Aug 2019 18:21:57 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2019/08/seo-and-ipad-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Few things are as exciting for a new developer as getting their first customers. The idea of putting one’s new coding knowledge to work can be exhilarating.</p>
<p>There’s an important thing to remember though, especially if your customer is some type of small business which deals with the public (such as a restaurant, a bakery, and so on). That thing to remember is that the customer probably doesn’t care about HTML, CSS, or JavaScript. They care about whether the website performs well in search and whether customers come into their business as a result.</p>
<p>This means that you need to build the website with search engine optimization (SEO) in mind. One of the bigger developments recently in the area of SEO is Google’s increasing use of “structured data” in its analysis of websites. This trend made me decide to write this article on the use of structured data in your various web projects.</p>
<p>I’m going to divide this discussion up into four sections. The areas I’m going to delve into include:</p>
<ol>
<li><p>What is structured data and why does Google care about it?</p>
</li>
<li><p>How to use structured data in a website.</p>
</li>
<li><p>How to test your structured data and monitor for errors after the site launches.</p>
</li>
<li><p>The need to keep your structured data up to date after the website launches.</p>
</li>
</ol>
<p>This is an important discussion to have. I find that many, many, many, many……(many) people who hold themselves out as web developers don’t actually know much (if anything) about SEO.</p>
<p>I also find that many people who hold themselves out as assisting with SEO don’t actually know anything about web development (and often can barely code at all).</p>
<p>Someone who can actually code, and who understands what the search engines are looking for, can provide a great deal of value to their customers. This value, in turn, helps you to make more money as a developer. In other words, pairing an understanding of SEO with your newly learned web development skills can help you go from looking like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/Computer-with-help-sign.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>To looking like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/computer-and-money.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>So let’s get to it and discuss why structured data is important to a website’s SEO.</p>
<h3 id="heading-what-is-structured-data-and-why-does-google-care-about-it">What is structured data and why does Google care about it?</h3>
<p>Structured data is form of markup you can apply to your website’s content. This markup allows you to provide information to search engines about your web pages and the information they contain.</p>
<p>This markup is important because search engines, while getting better at understanding natural language, can struggle with understanding the wording or other content contained within a web page.</p>
<p>For example, if someone is searching for “professional to help with investing,” search engines may struggle to distinguish between sites which belong to investment managers and sites which discuss how to pick an investment manager in general (this is a very generalized example).</p>
<p>By using structured data, you can help Google know that your website actually belongs to an investment manager.</p>
<p>Another purpose of structured data is that it helps search engines identify who is who on the web. Suppose, for example, you're doing a website for a political candidate. The candidate, in addition to an official campaign website, has an official Facebook page for the campaign.</p>
<p>For obvious reasons, there may be people who start false Facebook pages about the candidate. By including certain structured data in the website, you can create a relational link between the official Facebook page and the campaign’s website. This helps the search engines to know which Facebook page is legit and which one is bogus.</p>
<p>Google has been working to identify who is who on the web for roughly a decade. This started with their now defunct social network, Google+ (you know…..that social network that you may have tried but none of your friends were on).</p>
<p>Back in the early part of this decade, if a website included a link to a Google+ profile, and the link included the “rel=author” attribute, the link informed Google that the website belonged to the holder of the Google+ profile. This was something Google intended to ratchet up in search, as one of their executives explained in this 2013 video:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/3QlY8ba0jYI" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<p>Google abandoned this approach, mainly due to the struggles of Google+, in August of 2014. Since that time, Google has been increasing its emphasis on structured data as a way of annotating information in search results and identifying who is who on the web.</p>
<p>So, in short, structured data is something you should be including to add value to any website you build for your clients.</p>
<h3 id="heading-how-to-use-structured-data-in-a-website">How to use structured data in a website</h3>
<p>Structured data can be used in a number of ways. In addition to using it to help identify the individual or entity operating the site, you can use it to help Google better understand a page’s content.</p>
<p>If, for example, you’ve built a website for a bakery, then there are types of markup you can use to highlight the business’ good reviews, to highlight upcoming events, and so on. This markup can lead to highlights in search results which, in turn, will make your customer (the bakery owner) happy.</p>
<p>Let’s look at a few examples of what this looks like in real life, using a <a target="_blank" href="https://www.dayton-real-estate-agent.com/">real estate agent website</a> which I recently built (I'm including the link in case you want to take a look at the code).</p>
<p>The realtor I built the website for focuses her business on dealing with investors. The website includes structured data which informs Google that the site belongs to an actual real estate agent. When I perform a Google search for “Dayton realtor for investors,” the top three organic results I receive are as shown in this photo:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/Investor-search.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>The first result is the website I built. The latter two are websites which do not belong to actual real estate agents, even though that is what I was clearly looking for with my search term. In fact, only one other realtor website even appears on the first page of the search results. Now, I’m not saying that this is entirely due to the structured data, but it certainly helps.</p>
<p>The markup used for structured data is generated/governed by <a target="_blank" href="https://schema.org/">Schema.org</a>. When you’re marking up a site, an individual page, an event, or a product, it’s important to use as much markup as is <em>reasonably</em> possible in order to provide the search engines with relevant information.</p>
<p>Schema.org's website often provides examples of what your markup should look like. The start of the markup that I used for the realtor site involved informing Google that the site belonged to a real estate agent by placing the following inside of a</p>
<p>:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">itemscope</span> <span class="hljs-attr">itemtype</span>=<span class="hljs-string">http://schema.org/RealEstateAgent</span>&gt;</span>
</code></pre>
<p>This tells the search engines that I am relying on schema’s markup to identify and describe the site and that the site belongs to a real estate agent, as defined by schema <a target="_blank" href="https://schema.org/RealEstateAgent">here</a>.</p>
<p>I was also able to use structured data to tell Google that this realtor has good online reviews and that they work on commission. This, in turn, is now showing up in search results.</p>
<p>For example, the page at the following link is on the first page of search when I look for <a target="_blank" href="https://www.dayton-real-estate-agent.com/apartments-multi-family-homes-for-sale/">Dayton apartments for sale</a>. (Again, I'm including this link in case you want to look at the site's source code).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/08/multifamily-1.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Notice that the search results include the fact that this is a five-star rated realtor and that the professional works on commission? In other words, the use of structured data helps the site to stand out more in the search results. This information was added to the site with the following markup:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">itemprop</span>=<span class="hljs-string">"aggregateRating"</span> <span class="hljs-attr">itemscope</span> <span class="hljs-attr">itemtype</span>=<span class="hljs-string">"http://schema.org/AggregateRating"</span>&gt;</span>
Rated <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">itemprop</span>=<span class="hljs-string">"ratingValue"</span>&gt;</span>Actual Rating of Realtor<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> out of <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">itemprop</span>=<span class="hljs-string">"bestRating"</span>&gt;</span>Highest Possible Rating of Realtor<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> by <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">itemprop</span>=<span class="hljs-string">"ratingCount"</span>&gt;</span>Number of Total Reviews<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> clients at <span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"URL of Website Where Reviews Are Located"</span> <span class="hljs-attr">target</span>=<span class="hljs-string">"_blank"</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"noopener"</span>&gt;</span>Name of Website Where Reviews Are Located<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
Fee Structure: <span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">itemprop</span>=<span class="hljs-string">"priceRange"</span>&gt;</span>Commission<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
</code></pre>
<p>Figuring out what structured data to use in a site, or on a particular page, can be difficult. Fortunately, Google gives a few tools that help with this. Let’s look at those tools in the following section of this article.</p>
<h3 id="heading-testing-your-structured-data-and-monitoring-it-after-your-site-launches">Testing your structured data and monitoring it after your site launches</h3>
<p>The first step in adding structured data to your content is to figure out the category it falls into. You can do this by researching the Schema.org website, looking at the data from other websites, or a combination of both. Once you find the category you fall into, the rest is pretty easy. Let’s stick with the real estate agent example from above.</p>
<p>The first step is to add the realtor markup, from Schema, the site. Then enter your url into <a target="_blank" href="https://search.google.com/structured-data/testing-tool">Google’s structured data testing tool</a>. The tool will tell you what structured data has been found on your site, what errors you may have, and what structured data is “suggested” for the category you’ve selected. Once you start using this tool, you’ll find that making sure you have the right information in the website becomes fairly simple and straightforward.</p>
<p>Also, I heavily rely on the examples which Schema provides for various categories and data types. Using Google’s testing tool can help you to make sure that you have the correct data in your site from the get go.</p>
<p>Another important tool, in monitoring for errors, is <a target="_blank" href="https://search.google.com/search-console/about">Google Search Console</a>. This is another developer tool, from Google, that will let you know when structured data errors appear on your website after launch. This is an incredibly useful tool and if you’re supporting your client’s website on an ongoing basis, after launch, then you need to be using it to monitor things.</p>
<h3 id="heading-the-need-to-keep-your-structured-data-up-to-date-after-a-website-launches">The need to keep your structured data up to date after a website launches</h3>
<p>It is important to understand that you may need to go back and edit a site’s older structured data after a site launches. This is because, like many other things, the standards for structured data change over time. As an example, I build and maintain websites for law firms as part of my primary business. Under the prior structured data standards, these websites were marked up with the following:</p>
<p>In later revisions to the structured data standards, however, the “Attorney” classification was deprecated and changed to “LegalService” – as such, I had to change the markup on each website I manage. I tell you this because it’s important to realize that these standards change somewhat often. It’s important that you keep up with the changes.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Web results are becoming increasingly rich in that they provide more information than just a link to a website. It’s important for your clients that you markup your pages accordingly. Doing so is important to your SEO efforts and to providing value to your customers. This is why it’s important to include structured data in your projects.</p>
<h3 id="heading-about-me">About Me</h3>
<p>I am a web developer who primarily provides various types of services to law firms. I am also a co-founder of <a target="_blank" href="https://www.modern-website.design/">Modern Website Design</a>. I enjoy writing on issues which help freelance developers and small businesses to grow their revenue.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
