{"id":342,"date":"2018-04-09T12:47:49","date_gmt":"2018-04-09T12:47:49","guid":{"rendered":"https:\/\/www.searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/"},"modified":"2019-11-18T09:38:36","modified_gmt":"2019-11-18T09:38:36","slug":"an-seos-survival-guide-to-single-page-applications-spas","status":"publish","type":"post","link":"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/","title":{"rendered":"An SEO&#8217;s survival guide to Single Page Applications (SPAs)"},"content":{"rendered":"<p><strong>SEOs beware: if you haven\u2019t heard of Single Page Applications (SPA for short), or if you have been resistant to learning about these JavaScript methods for creating websites, the time for hiding your head in the sand is over.<\/strong><\/p>\n<p>Check out this tweet from Google Webmaster Trends Analyst John Mueller:<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">The web has moved from plain HTML &#8211; as an SEO you can embrace that. Learn from JS devs &amp; share SEO knowledge with them. JS&#39;s not going away.<\/p>\n<p>&mdash; John \ud83e\uddc0 &#8230; \ud83e\uddc0 (@JohnMu) <a href=\"https:\/\/twitter.com\/JohnMu\/status\/894901485238190080?ref_src=twsrc%5Etfw\">August 8, 2017<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>John Mueller is correct. <em>It\u2019s not going away. <\/em><\/p>\n<p>A quick search on Google Trends for \u201cSingle Page Application\u201d reveals the sharp rise in popularity and awareness of SPAs over time:<\/p>\n<p><a href=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/SPA-Google-Trends.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-77540 aligncenter\" src=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/SPA-Google-Trends-1024x518.png\" alt=\"\" width=\"1024\" height=\"518\" \/><\/a><\/p>\n<p>Some developers are positively enamored with using <a href=\"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/\">JavaScript<\/a> frameworks and libraries to create websites, and SPA popularity has been steadily growing.<\/p>\n<p>Take Angular (also known as AngularJS and Angular.js), for example.<\/p>\n<p>Here\u2019s a Google Trends search for the <a href=\"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/\">Angular<\/a> <a href=\"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/\">JavaScript framework<\/a> showing the past 5 years, and Trends even recognizes the application platform \u2013 you can see popularity has increased greatly over the last couple of years:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/Angular-Google-Trends.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-77539 aligncenter\" src=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/Angular-Google-Trends-1024x468.png\" alt=\"\" width=\"1024\" height=\"468\" \/><\/a><\/p>\n<p style=\"text-align: left;\">The React <a href=\"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/\">JavaScript library<\/a> shows a similar up and to the right trend:<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/React-Google-Trends.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-77538 aligncenter\" src=\"https:\/\/searchenginewatch.com\/wp-content\/uploads\/sites\/25\/2018\/04\/React-Google-Trends-1024x476.png\" alt=\"\" width=\"1024\" height=\"476\" \/><\/a><\/p>\n<p>In my role as a professional <a href=\"https:\/\/searchenginewatch.com\/2019\/05\/31\/image-optimization-for-seo\/\">SEO<\/a>, I can\u2019t say that <a href=\"https:\/\/searchenginewatch.com\/2018\/04\/09\/an-seos-survival-guide-to-single-page-applications-spas\/\">Single Page Applications<\/a> are the rule and not the exception when it comes to how businesses choose to develop websites these days, but I am running across more and more SPAs, and so are my colleagues.<\/p>\n<ul>\n<li>Yes, it\u2019s true that JavaScript was never intended for web page content delivery.<\/li>\n<li>Yes, it\u2019s true that SPAs to date have not been great for <a href=\"https:\/\/searchenginewatch.com\/2018\/12\/04\/techseo-boost-machine-learning-for-seos\/\">SEO<\/a>.<\/li>\n<li>Yes, it\u2019s true that many developers who had fun quickly creating websites using SPAs had to later spend more time fixing <a href=\"https:\/\/searchenginewatch.com\/2019\/07\/02\/competitive-research-insight-tools\/\">SEO<\/a> problems than the time they would have spent if they just coded the site to deliver content via HTML5 in the first place.<\/li>\n<\/ul>\n<p><em>But, none of that matters, my SEO friends.<\/em><\/p>\n<p>Like it or not, SPAs look like they\u2019re here to stay.<\/p>\n<p>It\u2019s time to stop thinking bad thoughts about SPAs and trying to <a href=\"https:\/\/www.youtube.com\/watch?v=_C34g5mz1ZQ\">wish them into the cornfield<\/a>.<\/p>\n<h2>Single-Page Applications: Resistance is futile<\/h2>\n<p>I admit it \u2013 for a while there I was hoping I could ignore Single Page Applications, and maybe eventually SPAs would end up in the trash heap of obsolete website trends such as the &lt;blink&gt; tag, and web page content that\u2019s free of annoying and intrusive advertising interruptions.<\/p>\n<p>Programming and <a href=\"https:\/\/searchenginewatch.com\/2019\/02\/06\/using-python-to-recover-seo-site-traffic-part-one\/\">coding<\/a> languages live and die by developer adoption. For example, if, by some weird turn of events, developers across the world suddenly decided they hated PHP and fell in love with some super-cool new server-side scripting language, then PHP withers, maybe even dies.<\/p>\n<p>It\u2019s just that simple.<\/p>\n<p>That\u2019s why, for example, Google has been <a href=\"https:\/\/searchenginewatch.com\/2017\/06\/07\/the-highs-and-lows-of-google-amp-1-5-years-on\/\">pushing Accelerated Mobile Pages<\/a> (AMP) super hard \u2013 because they need major and widespread developer adoption for AMP to succeed and not wind up as the &lt;blink&gt; tags\u2019 roommate.<\/p>\n<p>Talk to developers who\u2019ve created sites using Angular, React, or other JavaScript frameworks or libraries. See if they light up as they talk about the ease and speed of <a href=\"https:\/\/searchenginewatch.com\/2019\/02\/06\/using-python-to-recover-seo-site-traffic-part-one\/\">development<\/a> and how debugging was not as hard as the rumors have it.<\/p>\n<p>SPAs are popular with developers, and that popularity is not showing any sign of slowing down.<\/p>\n<h2>Dipping a toe into the SPA<\/h2>\n<p>Looking \u201cunder the hood\u201d of SPAs, a distinguishing characteristic is that there\u2019s a lot less back and forth between the server and the browser making requests to the server.<\/p>\n<p>After the initial JavaScript framework download to the browser and first page view, there is no page reloading going on when navigating to a second, third, and fourth (etc.) page, hence the \u201csingle page\u201d part of Single Page Application.<\/p>\n<p>After that initial JavaScript framework download and first page view, subsequent pages viewed load very quickly, exactly because of the lack of back and forth requests between the server and browser that \u201ctraditional\u201d web sites require.<\/p>\n<p>And this means a very good user experience because no extra page load means no extra wait time. And, as we all know, everyone prefers fast-loading pages.<\/p>\n<p>The main aspect to remember here is that with an SPA there is far less back and forth between the browser and the server.<\/p>\n<h2>But JavaScript was never intended for web page content delivery<\/h2>\n<p>Before JavaScript started being used commonly in website development, web pages were static and created using HTML.<\/p>\n<p>Using JavaScript enabled website developers to add interactivity to their web pages such as pop-up dialog boxes when a user is filling out a form, expandable content when a user clicks on text or a button, or a drop-down menu when the user hovers their mouse over a navigation element.<\/p>\n<p>These and other user interactive features JavaScript allows can be executed in the browser without requiring a call to the server.<\/p>\n<p>And thus, for many years, website developers used HTML for content delivery, CSS for layout and styling, and JavaScript for adding user interactivity.<\/p>\n<p>It\u2019s a fair generalization that JavaScript has become vital to websites and to a developer\u2019s resume; JavaScript is pretty much ubiquitous. JavaScript is not that difficult to learn compared to full-blown programming languages such as Java and C++. The \u201cJ\u201d in AJAX and jQuery is \u2013 you guessed it \u2013 JavaScript.<\/p>\n<p>I only bring this up because in retrospect, and hindsight is always 20\/20, we SEOs all should have seen the rise of Single Page Applications looming on the horizon.<\/p>\n<p>But viewed glass-half-full, the rise of SPAs presents an opportunity for technically-minded SEOs to gain experience and become even more valuable now and in the future.<\/p>\n<h2>If SPAs can cause SEO issues, then why do developers create SPA websites?<\/h2>\n<p>If you\u2019ve never done any coding, then you might not realize what it\u2019s like to be in a developer\u2019s mindset.<\/p>\n<p>Think about it this way: if you were going to have to sit down and write code to create a certain web page functionality and you could either write 10 lines of code to achieve that, or write 1,000 lines of code, which would you choose? You\u2019d opt for the expedience of 10 lines of code, right?<\/p>\n<p>Developers are not lazy; they simply prefer efficiency and elegance when it comes to writing code. I\u2019ve seen developers frame code and hang it on their office wall. Ever heard the saying \u201ccode is poetry?\u201d<\/p>\n<p>If you\u2019re trying to get somewhere the fastest way possible, you take the shortest route, correct?<\/p>\n<p>Single Page Application frameworks and libraries, in crude summary, provide building blocks that allow developers to create a website quickly and efficiently.<\/p>\n<p>Consider the fact that SPAs allow developers to efficiently create modern-looking websites that load pages quickly, which makes for a great user experience, and you can see why you might choose an SPA over coding a website from scratch in HTML, CSS, and JavaScript, or hassling with the constraints of a <a href=\"https:\/\/www.sempdx.org\/blog\/the-essential-guide-to-understanding-content-management-systems\/\">Content Management System<\/a>.<\/p>\n<p>SPAs present a fast-loading user experience because they don\u2019t need to reload most resources such as HTML, CSS, and scripts with each user interaction like a \u201ctraditional\u201d website does. These files only require initial loading and then after that only new data is retrieved and downloaded from the server.<\/p>\n<p>SPAs reduce response times primarily by moving the heavy-lifting of data processing from the server to the browser.<\/p>\n<p>SEO may be a lesser consideration given the SPA developments upsides, an afterthought, or perhaps not a consideration at all during the website development process. Any SEO pro who has been in digital marketing for very long has seen the all-too-common situation where a company develops a website, only later to ask the question \u201chow do we SEO this thing?\u201d<\/p>\n<p>Not everyone realizes that SEO should be baked-in at the beginning and not sprinkled-on at the end, or that their website development choices can have definite downstream negative impacts with respect to SEO.<\/p>\n<h2>JavaScript libraries vs. JavaScript frameworks<\/h2>\n<p>Untangling the technology behind SPAs eventually leads us to the topic of JavaScript libraries and frameworks.<\/p>\n<p>Ask a developer <em>\u201cwhat\u2019s the difference between a library and a framework\u201d<\/em> and you\u2019ll get a lot of <a href=\"https:\/\/www.quora.com\/What-is-the-difference-between-a-JavaScript-framework-and-a-library\">interesting answers<\/a>.<\/p>\n<p>One overriding distinction you hear repeatedly goes something like this:<\/p>\n<p><em>The code you write calls a library, whereas a framework calls the code you write. <\/em><\/p>\n<p>React and Angular are both SPAs, but React is technically a library, whereas Angular is technically a framework. However, you will hear often people refer to SPA technology generally as \u201cJavaScript frameworks\u201d.<\/p>\n<p>Frameworks can be thought of as a structure, like a pre-fab home which comes with the framing, drywall, plumbing, and electrical wiring and all you have to do is add the appliances, windows and coverings, flooring, paint, etc.<\/p>\n<p>A library can be thought of as a place that contains a set of ready to use pre-built tools and functionalities. You\u2019d call a library in your code for a specific function.<\/p>\n<p>You can see that starting a web development project using frameworks and\/or libraries can streamline the process, as opposed to writing from scratch all the necessary code to create a website.<\/p>\n<h2>Common SEO problems of Single Page Applications<\/h2>\n<p>There\u2019s a lot of talk about how well Google can handle JavaScript when it comes to crawling and indexation.<\/p>\n<p>Crawling and indexing is critical to ranking.<\/p>\n<p>Google discovers web pages using software called <a href=\"https:\/\/searchenginewatch.com\/2019\/03\/12\/robots-txt-best-practice-guide-and-examples\/\">Googlebot<\/a> during a very fast process often called \u201ccrawling\u201d or \u201cspidering\u201d, during which it downloads an HTML file it finds, extracts the links and visits them simultaneously, and then sends the downloaded resources to the indexer.<\/p>\n<p>But when it comes to a JavaScript-based single page application website, the process gets a bit more complicated.<\/p>\n<p>It\u2019s like the process noted above, but there\u2019s a delay and extra step involved because part of the indexer must do some heavy lifting by parsing and executing the JavaScript, and the new links found then must be passed back to the crawler to look at and then sent back to the indexer; you can see that this is less efficient because of the JavaScript.<\/p>\n<p>SEO is more than just having \u201cgreat content\u201d and earning high-quality links; it\u2019s also about making your web pages easy to discover by <a href=\"https:\/\/searchenginewatch.com\/2018\/05\/21\/no-need-for-google-12-alternative-search-engines-in-2018\/\">search engines <\/a>like Google and making it simple for them to know which pages are more important than other pages via <a href=\"https:\/\/searchenginewatch.com\/2019\/09\/25\/topic-clusters-increase-seo-rankings\/\">internal linking<\/a>.<\/p>\n<p>A \u201ctraditional\u201d HTML-based site is far easier to crawl and index, and by extension, rank. Google can get all the links easily and see what the importance of pages are via internal linking.<\/p>\n<p>A JavaScript-based SPA website makes Google\u2019s life <a href=\"http:\/\/www.stateofdigital.com\/javascript-seo-crawling-indexing\/\">more difficult<\/a>, and some testing would seem to indicate that there may be <a href=\"https:\/\/www.distilled.net\/resources\/split-testing-javascript-for-seo\/\">downsides when relying on JavaScript<\/a> for purposes of indexation.<\/p>\n<p>Google is evidently willing to do the extra heavy lifting here, and to my mind that indicates that they\u2019ll improve over time rather than announce to webmasters in the future that they have decided they don\u2019t want to bother with the extra work required to crawl and index JavaScript-based sites.<\/p>\n<p>Another potential SEO problem related to the extra work to discover links is that Google may have issues with evaluating the link equity of those pages.<\/p>\n<p>It\u2019s likely that in time, at least some of the SPA frameworks in popular use will evolve the rendering process to make it easier for Google to crawl and index, perhaps even making it on par with \u201ctraditional\u201d HTML-based websites.<\/p>\n<p>But in the meantime, we\u2019re where we are and those who\u2019ve tested how well Google can handle JavaScript-based sites have shown that Google\u2019s ability is inconsistent, and we\u2019re also still in a place where those who have developed SPAs frequently must use workarounds, for example using <a href=\"https:\/\/prerender.io\/\">prerender.io<\/a> along with Angular to serve fully-rendered pages to the crawler.<\/p>\n<p>Another solution is <a href=\"https:\/\/en.wikipedia.org\/wiki\/Isomorphic_JavaScript\">isomorphic JavaScript<\/a>, sometimes called \u201cUniversal JavaScript\u201d, where a page can be generated on the server and sent to the browser, which can immediately render and display the page. This solves the SEO issues as Google doesn\u2019t have to execute and render the JavaScript in the indexer.<\/p>\n<p><a href=\"https:\/\/developers.google.com\/web\/tools\/puppeteer\/articles\/ssr\">Headless Chrome<\/a> is another option recently proposed as an easy solution by a Google engineer, who also mentions another solution called <a href=\"https:\/\/github.com\/developit\/preact-render-to-string\">Preact<\/a>, which ships with server-side rendering.<\/p>\n<p>It\u2019s also a good idea to create a <a href=\"https:\/\/www.sitemaps.org\/protocol.html\">properly formatted XML Sitemap<\/a> and submit that to<a href=\"https:\/\/searchenginewatch.com\/2018\/01\/30\/inside-googles-new-search-console-whats-new-whats-the-same-and-whats-still-to-come\/\"> Google Search Console.<\/a><\/p>\n<p>Right now, there doesn\u2019t appear to be any single solution or a paint-by-numbers approach to handing the problems you may encounter if you\u2019re an SEO assisting a client with launching or redeveloping a website using an SPA.<\/p>\n<p>It boils down to effectively communicating the correct end result that\u2019s needed, and dealing with issues as they\u2019re presented based on the library or framework being deployed.<\/p>\n<h2>Some important Single Page Application resources<\/h2>\n<p>Some super-sharp SEOs and developers have written helpful articles about Single Page Applications, and here are a few resources I have enjoyed that I think you will find helpful:<\/p>\n<ul>\n<li>Tomasz Rudzki wrote an excellent post here; the title says it all: <a href=\"https:\/\/www.elephate.com\/blog\/ultimate-guide-javascript-seo\/\">The Ultimate Guide to JavaScript SEO<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=JlP5rBynK3E\">Watch this video<\/a> by Google \u200eSenior Webmaster Trends Analyst <a href=\"https:\/\/www.linkedin.com\/in\/johnmu\/\">John Mueller<\/a> \u2013 he provides a terrific general overview of Single Page Applications and how Google treats them<\/li>\n<li>Justin Briggs is quite conversant with both SEO and JavaScript and wrote 2 pieces you should check out: <a href=\"https:\/\/www.briggsby.com\/auditing-javascript-for-seo\/\">Auditing JavaScript for SEO<\/a>, and <a href=\"https:\/\/www.briggsby.com\/dealing-with-javascript-for-seo\/\">Core Principles of SEO for JavaScript<\/a><\/li>\n<li>Richard Baxter wrote this awhile back, but it\u2019s still very much worth your time: <a href=\"https:\/\/builtvisible.com\/javascript-framework-seo\/\">The Basics of JavaScript Framework SEO in AngularJS<\/a><\/li>\n<li>Will Critchlow shared this excellent post: <a href=\"https:\/\/www.distilled.net\/resources\/split-testing-javascript-for-seo\/\">Early Results from Split Testing JavaScript for SEO<\/a><\/li>\n<li>Hold on to your hat when you click on Barry Adams\u2019 <a href=\"http:\/\/www.stateofdigital.com\/javascript-seo-the-definitive-resource-list\/\">JavaScript &amp; SEO: The Definitive Resource List<\/a><\/li>\n<li>If you\u2019re a bit short on time, this is an excellent quick read: <a href=\"https:\/\/blog.twentysixdigital.com\/seo\/seo-considerations-for-single-page-applications\/\">SEO Considerations for Single Page Applications<\/a><\/li>\n<li>I definitely recommend reading this from Angular University: <a href=\"https:\/\/blog.angular-university.io\/why-a-single-page-application-what-are-the-benefits-what-is-a-spa\/\">Angular Single Page Applications (SPA): What are the Benefits?<\/a><\/li>\n<li>This Microsoft article is not geared to SEOs, but it\u2019s a quick and helpful read: <a href=\"https:\/\/docs.microsoft.com\/en-us\/dotnet\/standard\/modern-web-apps-azure-architecture\/choose-between-traditional-web-and-single-page-apps\">Choose Between Traditional Web Apps and Single Page Apps (SPAs)<\/a><\/li>\n<li>This is also a relatively quick read covering a few different SPA types <a href=\"https:\/\/blog.codecentric.de\/en\/2017\/12\/angular-single-page-applications\/\">by Johann Wagner<\/a><\/li>\n<li>Lastly, I strongly suggest you make time to read this, a very good overview: <a href=\"https:\/\/www.scalablepath.com\/blog\/single-page-applications\/\">Single Page Applications: When &amp; Why You Should Use Them<\/a><\/li>\n<\/ul>\n<h2>Final thoughts<\/h2>\n<p>Single Page Applications are evolving rapidly, as is the <a href=\"https:\/\/searchenginewatch.com\/2018\/02\/22\/the-seos-essential-guide-to-web-technology\/\">web technology landscape<\/a> in general. It\u2019s worth the effort for professional SEOs to be as conversant as possible with not only Single Page Applications, but also Accelerated Mobile Pages, <a href=\"https:\/\/searchenginewatch.com\/2018\/03\/06\/how-progressive-web-apps-could-rule-mobile-ecommerce-in-2018\/\">Progressive Web Apps<\/a>, Content Management Systems in general, and of course the tech behind how websites are coded from scratch.<\/p>\n<p>My sense of the situation is that SPAs, and Google\u2019s ability to handle JavaScript-based websites, will advance at a quickening pace because the stakeholders involved are aware that SPAs come with a definite SEO downside as it stands right now.<\/p>\n<p style=\"text-align: left;\">It\u2019s entirely possible that in a year or so the most popular SPAs will ship with SEO solutions built in because awareness of the need for SEO friendly JavaScript-based websites is growing. But there\u2019s no guarantee of that happening soon or at all, so my recommendation for today\u2019s SEOs is to get excited about and embrace this technology trend.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you haven\u2019t heard of Single Page Applications (SPA for short), or if you have been resistant to learning about these JavaScript methods for creating websites, the time for hiding your head in the sand is over.<\/p>\n","protected":false},"author":1092,"featured_media":343,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,5],"tags":[88,321,322,323,324,325,326,302],"content_type":[27095],"class_list":["post-342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-seo","tag-accelerated-mobile-pages","tag-angular","tag-javascript","tag-javascript-framework","tag-javascript-library","tag-react","tag-single-page-application","tag-web-development","content_type-news"],"acf":{"tad_independentcommercial":false,"tad_content_format":false},"post_info":{"name":"idris.nagri@blenheimchalcot.com idris.nagri@blenheimchalcot.com","title":"","thumbnail_url":"https:\/\/searchenginewatch.com\/wp-content\/uploads\/2018\/10\/code-120x90.jpg","category":"Development","timeago":"8y"},"_links":{"self":[{"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/posts\/342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/users\/1092"}],"replies":[{"embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/comments?post=342"}],"version-history":[{"count":0,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/posts\/342\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/media\/343"}],"wp:attachment":[{"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/media?parent=342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/categories?post=342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/tags?post=342"},{"taxonomy":"content_type","embeddable":true,"href":"https:\/\/searchenginewatch.com\/wp-json\/wp\/v2\/content_type?post=342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}