Google News Sitemap
, (*1)
Class for generating the sitemap for google news. More about google news sitemap here, (*2)
Example of the sitemap from google, (*3)
<?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
``` bash
$ composer require dionisiy13/google-news-sitemap
Usage
php
$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();, (*4)
$posts - list of news, (*5)
$pathToFile - where the file should apear. For example getcwd() . '/public' . '/sitemap_google_news.xml', (*6)
$item['date'] - should be DateTime, (*7)
Tags and genres could be empty., (*8)
Credits
License
The MIT License (MIT). Please see License File for more information., (*9)