Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Structured Data Implementation, MREIDs, and More at SMX Advanced 2018

1,295 views

Published on

Check out my slides from SMX Advanced 2018 for a deep dive into the various methods of implementation for structured data, taking SEO into the future with Machine-Readable Entity IDs (MREIDs), and more!

Published in: Marketing

Structured Data Implementation, MREIDs, and More at SMX Advanced 2018

  1. 1. #SMX #14A @mike_arnesen Structured data implementation & other exciting hacks Now with 25% more JavaScript!
  2. 2. #SMX #14A @mike_arnesen Fun facts about Mike:  Types Dvorak; not Qwerty  Broken clavicle from stage diving  Almost failed public speaking
  3. 3. #SMX #14A @mike_arnesen main areas Let’s talk about three
  4. 4. #SMX #14A @mike_arnesen Which one is right for you?
  5. 5. #SMX #14A @mike_arnesen Semantic SEO’s next evolution
  6. 6. #SMX #14A @mike_arnesen To prepare for what’s to come
  7. 7. #SMX #14A @mike_arnesen Going head-to-head Implementation Methods
  8. 8. #SMX #14A @mike_arnesen Let’s put them head-to-head Implementation with Hardcoded Structured Data
  9. 9. #SMX #14A @mike_arnesen Universally understood. Takes a lot of work to implement & maintain. Original Source Marked Up Source Digestible Data
  10. 10. #SMX #14A @mike_arnesen Pretty solid when you build it. Extremely limiting long-term.
  11. 11. #SMX #14A @mike_arnesen “Inline Semantic Markup No Longer” — goo.gl/fM2Fe8 #SMXInsights Inline structured data & microdata markup are dying. “
  12. 12. #SMX #14A @mike_arnesen For when you just want it done fast. Implementation with Structured Data Plugins
  13. 13. #SMX #14A @mike_arnesen Success is dependent on availability for your CMS and the creator predicting your structured data needs.
  14. 14. #SMX #14A @mike_arnesen JSON-LD = JavaScript Object Notation for Linked Data #SMXInsights The Future is written in JavaScript Object Notation. “
  15. 15. #SMX #14A @mike_arnesen JSON-LD. My recommendation. Also, Google’s. Implementation with Handwritten JSON-LD
  16. 16. #SMX #14A @mike_arnesen Write a valid JSON-LD script. Insert anywhere and save. Update as needed. JSON-LD Block Original Source Digestible Data
  17. 17. #SMX #14A @mike_arnesen We can do better. Implementation with Dynamic JSON-LD with GTM
  18. 18. #SMX #14A @mike_arnesen Use custom variables in GTM to grab fresh data off your page. Webpage Source GTM Variable
  19. 19. #SMX #14A @mike_arnesen Not only is this fresh. It scales! Source GTM Variable Webpage
  20. 20. #SMX #14A @mike_arnesen Use advanced JavaScript functions to parse and process on-page data. Webpage Source GTM Variable
  21. 21. #SMX #14A @mike_arnesen Finally, a custom GTM tag assembles the variables and adds JSON-LD to the page! GTM HTML Tag Digestible Data
  22. 22. #SMX #14A @mike_arnesen GTM HTML Tag Digestible Data We’re gonna have to break this down!
  23. 23. #SMX #14A @mike_arnesen Immediately Invoked Function Expression Everything is nice and contained This is a little IIFE. :ba-dum-tiss:
  24. 24. #SMX #14A @mike_arnesen All the data points are stored in a JS array object. This is not JSON-LD yet! Our standard JSON-LD block, almost.
  25. 25. #SMX #14A @mike_arnesen This creates a new DOM element to work with. Create a new script tag.
  26. 26. #SMX #14A @mike_arnesen Set the script’s type. I declare you…JSON!
  27. 27. #SMX #14A @mike_arnesen JSON.stringify() is a JavaScript method that converts JS data into readable JSON. :waves wand: Voilà! JSON!
  28. 28. #SMX #14A @mike_arnesen Find the <head> tag, then add the whole thing as a tag nested within it. Let’s add this to the page already!
  29. 29. #SMX #14A @mike_arnesen GTM harvests on-page data, assembles it as JSON-LD, and delivers to your front-end for Google to crawl.
  30. 30. #SMX #14A @mike_arnesen To make your life easier! Implementation with Dynamic JSON-LD with GTM
  31. 31. #SMX #14A @mike_arnesen For every data point, set a value in GTM based on the URL. GTM Lookup Tables
  32. 32. #SMX #14A @mike_arnesen Pick the best method for your situation.
  33. 33. #SMX #14A @mike_arnesen But, wait there’s more. Implementation with Dynamic JSON-LD with your CMS, a dataLayer, & GTM
  34. 34. #SMX #14A @mike_arnesen But the only good implementation is one that works for you. #SMXInsights JSON-LD powered by a CMS +dataLayer+GTM implementation is the gold standard. “
  35. 35. #SMX #14A @mike_arnesen This is another complicated one.
  36. 36. #SMX #14A @mike_arnesen Have your CMS insert and fill out a dataLayer array above your GTM tag. Let your CMS do the work!
  37. 37. #SMX #14A @mike_arnesen Create dataLayer variables with the same name used in your dataLayer (in the source code). GTM dataLayer vars collect all of it!
  38. 38. #SMX #14A @mike_arnesen From here, it’s the same process as before just using different, more reliable, GTM variables. Then GTM puts it together.
  39. 39. #SMX #14A @mike_arnesen Structured DataTestingTool goo.gl/kUzgVk Bing MarkupValidator goo.gl/6KN3DX Rich ResultsTestingTool goo.gl/R7ktBg & goo.gl/46y3gG (bookmarklet)
  40. 40. #SMX #14A @mike_arnesen Meet engines where they’re going. Machine-Readable IDs The Next Evolution of Semantic Entity Data
  41. 41. #SMX #14A @mike_arnesen Entity numbers in search — goo.gl/JCKF8L Destroy Ambiguity Leave no entity up to interpretation
  42. 42. #SMX #14A @mike_arnesen #SMXInsights Destroy ambiguity by linking your entities to their machine-readable entity IDs. “
  43. 43. #SMX #14A @mike_arnesen How to connect with your machine-readable entity ID sameAs yourself!
  44. 44. #SMX #14A @mike_arnesen upbuild.io/getMREID Bookmarklet
  45. 45. #SMX #14A @mike_arnesen Get the bookmarklet at upbuild.io/getMREID To get your MREID, click the bookmark or run the code in console.
  46. 46. #SMX #14A @mike_arnesen The ID is also written to the console log. Watch the MREID appear!
  47. 47. #SMX #14A @mike_arnesen Add the MREID and Wikipedia as a sameAs object. Drop it into your JSON-LD!
  48. 48. #SMX #14A @mike_arnesen
  49. 49. #SMX #14A @mike_arnesen sameAs yourself on-page to reinforce the connection. Just to be safe
  50. 50. #SMX #14A @mike_arnesen Get EntityLink.js at upbuild.io/smx-advanced Define your variables.
  51. 51. #SMX #14A @mike_arnesen No need to modify. Only uses Wikipedia URL if provided. This creates the inline markup.
  52. 52. #SMX #14A @mike_arnesen (Optional) Write custom RegEx to catch name variations. Generates RegEx to search and replace your entity name.
  53. 53. #SMX #14A @mike_arnesen Requires jQuery. Make sure it’s available! Updates all entity references within <p> tags!
  54. 54. #SMX #14A @mike_arnesen
  55. 55. #SMX #14A @mike_arnesen sameAs yourself New Data Types to look into this year
  56. 56. #SMX #14A @mike_arnesen Getting into Google’s Job Search is surprisingly easy. Job Postings
  57. 57. #SMX #14A @mike_arnesen RSS 3.0, not JSON-LD or microdata. Podcasts
  58. 58. #SMX #14A @mike_arnesen Use CSS selectors to indicate what’s paid! Paywalled Content
  59. 59. #SMX #14A @mike_arnesen http://schema.org/HowTo — For recipes and general use cases. HowTo
  60. 60. #SMX #14A @mike_arnesen developers.google.com/search/docs/data-types/recipe Recipes
  61. 61. #SMX #14A @mike_arnesen Recently added and expanded. FunTypes schema.org/TouristAttraction schema.org/PublicToilet
  62. 62. #SMX #14A @mike_arnesen It’s still important. Use it. OpenGraph Markup
  63. 63. #SMX #14A @mike_arnesen Few investments will have a greater return this year. Challenge Learn more JavaScript
  64. 64. #SMX #14A @mike_arnesen JSON-LD is becoming the language of search. JavaScript is becoming the language of the web.
  65. 65. #SMX #14A @mike_arnesen #SMXInsights As JS has become the language of the web, JSON-LD is becoming the language of search. “
  66. 66. #SMX #14A @mike_arnesen upbuild.io/SMX-advanced mikearnesen.com/now
  67. 67. #SMX #14A @mike_arnesen LEARN MORE: UPCOMING @SMX EVENTS THANK YOU! SEE YOU AT THE NEXT #SMX

×