To create the best possible user experience, ensure that your General Transit Feed Specification (GTFS) feed is compliant with Google’s quality requirements before it’s launched to the general public.
A comprehensive set of GTFS best practices can be found at http://gtfs.org/best-practices. These practices provide valuable guidance on the correct formation of GTFS data.
The following general rules apply to all user-facing content, including route names, trip headsigns, trip short names, stop names, stop headsigns, and agency names:
- Consistent naming: Keep naming in your feed consistent with naming in your own materials and signage.
- Local language: Use the same local language that is used predominantly by your riders.
- Standard name formatting: Avoid abnormal characters and spacing; for example, "#Regent's Avenue %204 - City Center" should be "204 Regent's Avenue - City Center."
- Avoid abbreviations: Avoid abbreviations unless they are very commonly used; for example, it's okay to use NYC and LA, but you should avoid using LN for London.
- Sentence case capitalization: Use sentence case capitalization. ALL UPPER CASE or all lower case is acceptable and will be automatically converted into sentence case. However, MIXED casing isn’t acceptable and should be fixed so that it is displayed properly to users.
Observe the following best practices to ensure Google can easily and accurately fetch the data to your feed:
- Specified fetch location: Let your IT or networking teams know that Google periodically fetches data from a specified location to your transit feed. This way, they can avoid changing file permissions for the feed or otherwise blocking or breaking the data fetching process.
- Fetch URL: Configure a fetch URL instead of using the upload feature in the Transit Partner Dashboard.
- Scheduled fetch: To keep the data in your feed up to date, configure a scheduled fetch that runs at least once every week. Check "Transfer only new or updated file(s)" to prevent unnecessary fetches.
- Expired feed: Don’t disable the scheduled fetch because the feed is expired. Update the feed instead.
- Feed notification: Don’t disable feed notifications in the Transit Partner Dashboard. Also, ensure that the contact email address is kept up to date.