How Google Might Generate Snippets for Search Results

How Google Might Generate Snippets for Search Results

When you perform a search at Google, and you have a set of search results in front of you, how do you decide what to click upon? How do you judge the page titles, the snippets, and the URLs that you see. How does Google decide what to show you? A little more than a year ago, Google Webmaster Trends Analyst Pierre Far wrote on the Google Webmaster Central Blog a post titled Better page titles in search results. There he told us that Google might sometimes rewrite the titles for web pages when showing them in search results. The post told us that Google might do some changing of titles when those had generic titles such as “home”, or no title at all, or:
We use many signals to decide which title to show to users, primarily the tag if the webmaster specified one. But for some pages, a single title might not be the best one to show for all queries, and so we have algorithms that generate alternative titles to make it easier for our users to recognize relevant pages.</blockquote> Before we consider how Google might decide when and how to change page titles (in a follow up post to this one), there’s another question about search results that needs some exploration. <strong>How does Google decide upon snippets for search results when it chooses snippets from the content of pages?</strong> Sometimes Google will use the meta description created for a page as a snippet. Sometime Google will pull a sentence or some information from the content of a page instead to display to a searcher. Chances are, if a page has a meta description that is well written, includes the keyword terms or phrases the page is optimized for, and is roughly around 150 characters or so, Google will choose the meta description to display as a snippet. But not always. Sometimes a page ranks well enough to show in search results for words other than the terms or phrases that a page is optimized for, and those words aren’t all contained within the meta description for the page. Sometimes a page’s meta description isn’t well written and doesn’t include keywords the page is optimized for either. A meta description for a page may be extremely short and not very descriptive, which would make it a poor choice as a snippet. Sometimes a meta description might be identical to every other meta description on a site. Some pages don’t even have meta descriptions. Google could even choose to use content from a page even if the words from a query appear in a meta description. Last March, Google was granted a patent that provides some hints about when Google might choose content to display from a page, and where it might choose that text from. If the query terms or phrases that someone searches with are word that tend to appear on pages that have abstracts or lengthy introductions, Google might decide to pull content from the start of a page if the query terms are present. If query terms or phrases being searched for tend to appear in ranking pages that often have conclusions at the end of a page, Google might choose to pull content to display from near the end of a page. That’s what the patent tells us: <a href="http://redirect.viglink.com?key=11fe087258b6fc0532a5ccfc924805c0&u=http%3A%2F%2Fpatft.uspto.gov%2Fnetacgi%2Fnph-Parser%3FSect1%3DPTO2%26amp%3BSect2%3DHITOFF%26amp%3Bp%3D1%26amp%3Bu%3D%252Fnetahtml%252FPTO%252Fsearch-adv.htm%26amp%3Br%3D1%26amp%3Bf%3DG%26amp%3Bl%3D50%26amp%3Bd%3DPALL%26amp%3BS1%3D08145617%26amp%3BOS%3DPN%2F08145617%26amp%3BRS%3DPN%2F08145617">Generation of document snippets based on queries and search results</a> Invented by Alexandre A. Verstak and Anurag Acharya Assigned to Google US Patent 8,145,617 Granted March 27, 2012 Filed: November 18, 2005 Abstract <blockquote>A document retrieval system generates snippets of documents for display as part of a user interface screen with search results. The snippet may be generated based on the type of query or the location of the query terms in the document. Different snippet generation algorithms may be used depending on the query type. Alternatively, snippets may be generated based on an analysis of the location of the query terms in the document.</blockquote> We don’t know for certain if the approach in this patent is one that Google had adopted, or if they even used it at one point, and moved on to something new. But it’s worth digging through the patent and seeing how they might make that choice. <strong>Multiple Snippet Generation Algorithms</strong> The patent tells us that Google might decide which algorithm to use to decide upon a snippet based upon its perception of a query. Google might look at the length of paragraphs that include the query terms and the distance of a paragraph from either the beginning of a document, or the end of the document. Some documents on the Web might have a lot of metadata associated with them, such as scholarly literature that might include “names of authors, title, publisher, publication date, publication location, citation information, article identifiers such as Digital Object Identifier, PubMed Identifier, SICI, ISBN, and the like, network location (e.g., URL), number of references, number of citations, language, and the like.” Other documents might have considerably less meta data, such as a blog or an ecommerce page. There are potentially a couple of different types of rules that might be used to decide upon a snippet – location based rules, and language dependent rules. <strong>Location Based Rules</strong> These rules might be used to generate snippets based on the location of the query terms in page. A paragraph or a portion of a paragraph might be chosen as a snippet based on the length and distance of the paragraph from the start or end of a page. Every paragraph that includes the query terms may be given a score based on the length of the paragraph and the distance of the paragraph from a predetermined location in the document, such as the beginning or the end of the document. The beginning of the page could be used in the types of documents that “include abstracts, executive summaries or comprehensive introductions” at the start of those documents. The ends of pages might be used for other types of pages that “include a conclusion or summarization” at their end. <strong>Language Dependent Rules</strong> Some language rules might be used in addition to choose snippets. Examples of language dependent rules: <ul> <li>How much of the paragraph are punctuation characters</li> <li>Whether the paragraph ends with punctuation or proposition</li> <li>Whether any of the words in the paragraph is overly long</li> <li>The number of bold or italicized words in the paragraph</li> </ul> Some paragraphs (in part or full) that include all of the query terms might rank poorly as choices for snippets for other reasons. These paragraphs might end up with a score of 0 because they: <ul> <li>Are shorter than a certain threshold</li> <li>Are mostly punctuation, or have punctuation aboce a certain threshold</li> <li>Fail language specific rules</li> <li>Contain italicized or bold words above a certain threshold</li> <li>Are too far from the start or the end of a page, based upon query type (a query that tends to show result pages that include abstracts, or one that tends to have results with conclusions)</li> </ul> A snippet that is chosen might be from the paragraph with the highest score on a page, or the “first paragraph to score above a threshold amount.” A snippet might be chosen from that paragraph, and it might be: <ul> <li>A predetermined number of words of the selected paragraph, such as the first predetermined number of words of the paragraph (e.g., 25 words)</li> <li>The first one or more sentences of the paragraph (e.g., 3 sentences)</li> <li>A middle portion (e.g., 50 words) containing at least one of the query terms</li> <li>The entire paragraph</li> </ul> <strong>Conclusion</strong> I started off this post with a mention that Google may sometimes change titles or snippets for pages in search results when they believed that doing so might result in more clicks through to a page when it’s shown in search results. We will get to that in the next post or two. What’s important here is that Google does have a process in place to decide where it might take text from when it shows a snippet that isn’t from the meta description on a page. Google might choose a snippet from the paragraphs weighted from the top of a page, if the search results pages returned for the query tend to be pages that that include abstracts and meta data such as an author’s name, a publisher’s name, and so on. This could be true on a query for the name of a scholar, for instance. Google might choose a snippet starting from paragraphs at the bottom of the page, if the search results pages returned for the query are pages that often end with conclusions. Other signals, such as the lengths of paragraphs, amount of punctuation, bold and italics, and more can also influence the choice Google makes. Why is the decision as to what snippet to show in search results so important? The snippet for a page in search results may determine whether or not someone might click through from a search results page. </div> <img alt="" src="http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif" width="1" height="1" border="0" /> <a href="http://feedproxy.google.com/~r/seobythesea/Tesr/~3/1OYf9avO3RA/" rel="nofollow">SEO by the Sea</a><ul class="share-buttons margin-top-40 margin-bottom-0"><li><a class="instagram-share" href="#" title="Instagram"><i class="fa fa-instagram"></i> Post</a></li><li><a class="fb-share" href="#" title="Facebook"><i class="fa fa-facebook"></i> Share</a></li><li><a class="twitter-share" href="#" title="Twitter"><i class="fa fa-twitter"></i> Tweet</a></li><li><a class="gplus-share" href="#" title="Google +"><i class="fa fa-google-plus"></i> Share</a></li></ul><div class="clearfix"></div></div></div> </div> <div class="col-lg-3 col-md-4"> <div class="sidebar right"> <div class="widget"> <h3 class="margin-top-0 margin-bottom-25">Search Blog</h3> <div class="search-blog-input"> <div class="input"><input class="search-field" type="text" placeholder="Type and hit enter" value=""/></div> </div> <div class="clearfix"></div> </div> </div> </div> </div> </div> </div> <div id="footer" class="sticky-footer"> <div class="container-xl"> <div class="row"> <div class="col-md-6 col-sm-6"> <img class="footer-logo" src="/assets/images/Logo.png?v=1.4" alt=""> <br><br> <p>At American Online PhoneBook, we are passionate about helping businesses succeed in the digital landscape. With our comprehensive suite of digital marketing services, we strive to enhance your online presence, drive targeted traffic to your website, and ultimately boost your business growth.</p> </div> <div class="col-md-3 col-sm-6 "> <h4>Helpful Links</h4> <ul class="footer-links"><li><a href="/">Home</a></li><li><a href="/Contact-3/Contact-Us">Contact Us</a></li></ul> <div class="clearfix"></div> </div> <div class="col-md-3 col-sm-12"> <h4>Contact Us</h4> <div class="text-widget"> <span>102 W Service Rd #145</span> <br> <span>Champlain, NY 12919, USA</span> <br> Phone: <span>1-888-597-2672 </span><br> Fax: <span>1-888-589-2672 </span><br> E-Mail:<span> <a href="mailto:sales@americanonlinephonebook.com">sales@americanonlinephonebook.com</a> </span><br> E-Transfer:<span> <a href="mailto:pay@americanonlinephonebook.com">pay@americanonlinephonebook.com</a> </span><br> </div> <ul class="social-icons margin-top-20"> <li><a class="facebook" href="#"><i class="icon-facebook"></i></a></li> <li><a class="twitter" href="#"><i class="icon-twitter"></i></a></li> <li><a class="gplus" href="#"><i class="icon-gplus"></i></a></li> <li><a class="vimeo" href="#"><i class="icon-vimeo"></i></a></li> </ul> </div> </div> </div> <div class="container-fluid bg-darken"> <div class="row"> <div class="col-md-12"> <div class="copyrights"> © 2024 American Online Phonebook <div class="row mt-4"> <div class="col-md-12 text-center"> <a href="/SP-25/Privacy-Policy">Privacy Policy</a>  -  <a href="/SP-26/Terms-And-Conditions">Terms And Conditions</a> </div> </div> </div> </div> </div> </div> </div> <div id="backtotop"><a href="#"></a></div> </div> <form method="post" action="./How-Google-Might-Generate-Snippets-for-Search-Results?C=563" id="frmMain"> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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" /> </div> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="AD7AD114" /> <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" /> </div> </form> <script type="text/javascript" src="/theme/scripts/jquery-3.6.0.min.js"></script> <script type="text/javascript" src="/theme/scripts/jquery-migrate-3.3.2.min.js"></script> <script type="text/javascript" src="/theme/scripts/mmenu.min.js"></script> <script type="text/javascript" src="/theme/scripts/chosen.min.js"></script> <script type="text/javascript" src="/theme/scripts/slick.min.js"></script> <script type="text/javascript" src="/theme/scripts/rangeslider.min.js"></script> <script type="text/javascript" src="/theme/scripts/magnific-popup.min.js"></script> <script type="text/javascript" src="/theme/scripts/waypoints.min.js"></script> <script type="text/javascript" src="/theme/scripts/counterup.min.js"></script> <script type="text/javascript" src="/theme/scripts/jquery-ui.min.js"></script> <script type="text/javascript" src="/theme/scripts/tooltips.min.js"></script> <script type="text/javascript" src="/theme/scripts/aos.js"></script> <script type="text/javascript" src="/theme/scripts/custom.js?v=1.5"></script> <script src="/theme/scripts/leaflet.min.js"></script> <script src="/theme/scripts/leaflet-markercluster.min.js"></script> <script src="/theme/scripts/leaflet-gesture-handling.min.js"></script> <script src="/theme/scripts/leaflet-CBP.js"></script> <script src="/theme/scripts/leaflet-autocomplete.js"></script> <script src="/theme/scripts/leaflet-control-geocoder.js"></script> <script src="/theme/scripts/plugins/jquery.justifiedGallery.min.js"></script> <script type="text/javascript"> $(document).ready(function () { GetUserInfo(); }); //------------------------------------------------------------------------------------------------------------------------------------------------------- var arrFavoritesProducts = []; function GetUserInfo() { $.ajax({ type: "POST", url: "/AjaxFunctions.aspx/GetUserInfo", data: "", contentType: "application/json; charset=utf-8", dataType: "json", async: true, cache: false, success: function (msg) { var obj = JSON.parse(msg.d); if (!obj[0].success) { $("#btnSignInUp").removeClass("hidden"); $("#divUserMenu").addClass("hidden"); //$(".Masked").removeClass("hidden"); $(".Masked").addClass("hidden"); } else { $("#divUserInfo").html('<span>' + '<img src="' + obj[0].Pic + '" ' + 'alt="' + obj[0].FullName + '" />' + '</span>' + 'Hi, ' + obj[0].FullName + '!' ); $("#btnSignInUp").addClass("hidden"); $("#divUserMenu").removeClass("hidden"); $(".Masked").addClass("hidden"); $("#txtReviewName, #txtMsgFullname").val(obj[0].FullName); $("#txtReviewEmail, #txtMsgEmail").val(obj[0].Email); $("#txtMsgPhone").val(obj[0].Phone); arrFavoritesProducts = obj[0].Favorites.split(" "); CheckFavorites(); } return true; }, error: function (request, status, error) { $("#btnSignInUp").addClass("hidden"); $("#divUserMenu").removeClass("hidden"); arrFavoritesProducts = []; CheckFavorites(); return false; } }); } //------------------------------------------------------------------------------------------------------------------------------------------------------- function CheckFavorites() { $(".wishlist span").addClass("lnr lnr-heart").removeClass("fa fa-heart"); arrFavoritesProducts.forEach(function (item) { if (item.trim() != "") { $(".wishlist[data-id=" + item + "] span").removeClass("lnr lnr-heart").addClass("fa fa-heart"); } }); } </script> <script type="text/javascript"> $(document).ready(function () { var GId = 1; $(".MyGallery").each(function () { var html = '<div class="postgallery mfp-gallery-container">'; $(this).find("img").each(function () { html += '<a href="' + $(this).attr("src") + '" class="item mfp-gallery">' + '<img src="' + $(this).attr("src") + '" alt="' + $(this).attr("alt") + '" />' + '</a>'; }); html += '</div>'; $(html).insertBefore($(this)); $(this).remove(); }); if ($('.postgallery').length > 0) { $('.postgallery').each(function () { $(this).justifiedGallery({ 'rowHeight': 200, 'margins': 3, /*'lastRow': 'justify',*/ 'captions': false }); $(this).magnificPopup({ type: 'image', delegate: 'a.mfp-gallery', fixedContentPos: true, fixedBgPos: true, overflowY: 'auto', closeBtnInside: false, preloader: true, removalDelay: 0, mainClass: 'mfp-fade', gallery: { enabled: true, tCounter: '' } }); }); } }); </script> </body> </html>