dionisiy13 / google-news-sitemap
Easy way to do sitemap for google news
Installs: 200 961
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: >=7.0.0
Requires (Dev)
- ext-xmlwriter: *
This package is auto-updated.
Last update: 2025-04-08 21:06:52 UTC
README
Class for generating the sitemap for google news. More about google news sitemap here
Example of the sitemap from google
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>http://www.example.org/business/article55.html</loc>
<news:news>
<news:publication>
<news:name>The Example Times</news:name>
<news:language>en</news:language>
</news:publication>
<news:genres>PressRelease, Blog</news:genres>
<news:publication_date>2008-12-23</news:publication_date>
<news:title>Companies A, B in Merger Talks</news:title>
<news:keywords>business, merger, acquisition, A, B</news:keywords>
<news:stock_tickers>NASDAQ:A, NASDAQ:B</news:stock_tickers>
</news:news>
<image:image>
<image:loc>https://example.com/image.jpg</image:loc>
</image:image>
<image:image>
<image:loc>https://example.com/photo.jpg</image:loc>
</image:image>
</url>
</urlset>
Install
Via Composer
$ composer require dionisiy13/google-news-sitemap
Usage
$sitemap = new \Dionisiy\SitemapGoogle\Sitemap($pathToFile); $siteName = "example.com"; foreach ($posts as $item) { $sitemap->setGenres("Blog"); $sitemap->setKeywords($item['tags']); $sitemap->setLanguage("en"); $sitemap->setLoc($item['url']); $sitemap->setName($siteName); $sitemap->setPublicationDate($item['publishAt']->getTimestamp()); $sitemap->setTitle($item['title']); $sitemap->setImages($item['images']); $sitemap->addItem(); } $sitemap->write();
$posts
- list of news
$pathToFile
- where the file should apear. For example getcwd() . '/public' . '/sitemap_google_news.xml'
$item['date']
- should be DateTime
Tags and genres could be empty.
Credits
License
The MIT License (MIT). Please see License File for more information.