Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Rich Snippet Based Events when No API is Available #219

Closed
allella opened this issue Feb 8, 2018 · 13 comments
Closed

Include Rich Snippet Based Events when No API is Available #219

allella opened this issue Feb 8, 2018 · 13 comments
Labels
enhancement New feature or request

Comments

@allella
Copy link
Member

allella commented Feb 8, 2018

Cross-linking back to the open data API issue history where the conversations started.

@Nunie123
Copy link

iCal/ics files look pretty straight forward to parse. The problem I found was a lack of an endpoint with an ics file we can use. @allella do you have an example of an endpoint for iCal data that this application can subscribe to?

@allella
Copy link
Member Author

allella commented Feb 24, 2018

Yes, there are no iCal feeds and may never be any so we can close this and re-open if we get somebody who only has an iCal.

https://data.openupstate.org/organizations?city=greenville&org_status=active&event_service=ical

@allella allella closed this as completed Feb 24, 2018
@allella allella reopened this Mar 6, 2019
@allella
Copy link
Member Author

allella commented Mar 6, 2019

Re-opening to explore the rich-snippets angle.

We have a few conferences (Grok, Restfest, Carolina Code Conf) which might not use Meetup or Eventbrite so those events don't show in the API.

We could potentially have then define their event on their websites with a rich-snippet format and pull events in that way.

@allella
Copy link
Member Author

allella commented Mar 6, 2019

@BigBlueHat last I checked in 2014 the supported formats were RDFa, Microdata and JSON-LD.

What's the best-practices these days?

@robertgonzales
Copy link

@allella I have access to the grok website. I can add a .ics file pretty easily. Is that all you need?

@allella
Copy link
Member Author

allella commented Mar 6, 2019

Thanks @robertgonzales It's up for debate, but I'm imagining the rich snippet would be the more universal method and possibly the easiest for the average site. Waiting on @BigBlueHat to share his wisdom on if https://rdfa.info or some other format(s) are the current suggested format(s).

We did talk about iCal and hCal support 5 years ago when this started but I'm not sure any sites have advertised an iCal other than Meetup.com and Eventbrite, for which we use the API.

@BigBlueHat
Copy link
Member

What's the best-practices these days?

For inline content, I'd recommend RDFa as it has the richest and most accurate tooling for expressing data within the markup (vs. microdata which results in much messier data and consequently more cleanup). Both RDFa and microdata have been supported by Google, Bing, Yahoo!, etc for a Good Long Time. 😃 RDFa is also used for systems like Open Graph Protocol which many CMS's already provide out the box--and which Facebook, Twitter, LinkedIn, and others use for their "card" views for links.

Google's current structured data recommendation is to use JSON-LD. JSON-LD can be embedded in HTML using a data block:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "REST Fest US East",
  "url": "http://2019.restfest.org/east/"
}
</script>

Depending on your setup, injecting that into your page (via your CMS, static site template, etc) can be simpler than adding attributes directly to your HTML. However, it does mean you'll likely be managing duplicated content as this content is also likely in your page already.

The REST Fest uses RDFa to avoid the duplication. The dates you see on the page hold the same content the search engine will extract--so I only have to edit it in one place...which is rather nice. 😄

Hope that helps!

@robertgonzales
Copy link

I went ahead and added JSON-LD to https://greenvillegrok.com/

@BigBlueHat
Copy link
Member

@robertgonzales looks great and Google's Structured Data Testing Tool likes it to. 😄

FWIW, you can (and should) put data blocks inside <head>. They're inert (so they won't block DOM processing like JS does/can), and putting them earlier means search engine bots will be happier sooner--some even stop early and/or only extract content from the <head>.

Other than that, though, this is great example. Nicely done. 👍

@robertgonzales
Copy link

Makes sense. Thanks for the pointers.

@allella allella changed the title Potential Non-API Based Event Sources - Rich Snippets, iCal / hCal, RSS Include Rich Snippet Based Events when No API is Available Sep 5, 2019
@allella
Copy link
Member Author

allella commented May 8, 2023

@oliviasculley

Here's an example with the UCLUG group.

Looks like there is JSON+LD on their event pages
image

So, we'd mostly need to figure out how to know when there's a new event, which I suspect either needs to be from scraping the main page https://gettogether.community/upstate-carolina-linux-users-group-uclug/ unless there's some other feed on Get Together.

@bogdankharchenko
Copy link
Collaborator

@allella do we still need this ticket? I think we should look into this when a need arises

@allella
Copy link
Member Author

allella commented Aug 6, 2024

Grok had JSON+LD markup in the past on their old domain, but that domain is gone. Also, since we can manually add events in #330 the use case is minimized.

Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants