Skip to content

sherault/Sitemap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thepixeldeveloper\Sitemap

Author Build Status HHVM Status Software License Packagist Version Total Downloads SensioLabsInsight Scrutinizer Code Quality

A tool to generate XML sitemaps

Basic Usage

Generating a urlset sitemap

$urlSet = new Thepixeldeveloper\Sitemap\Urlset(); 

$url = (new Thepixeldeveloper\Sitemap\Url($loc))
  ->setLastMod($lastMod)
  ->setChangeFreq($changeFreq)
  ->setPriority($priority);

$urlSet->addUrl($url);

Generating a sitemapindex sitemap

$sitemapIndex = new Thepixeldeveloper\Sitemap\SitemapIndex(); 

$url = (new Thepixeldeveloper\Sitemap\Sitemap($loc))
  ->setLastMod($lastMod);
  
$sitemapIndex->addSitemap($url);

Then pass either SitemapIndex or Urlset to Output to generate output

echo (new Thepixeldeveloper\Sitemap\Output())->getOutput($sitemapIndex);

Subelements

You can add more specific information to a URL entry, ie video / image information

Image

$subelement = new Thepixeldeveloper\Sitemap\Subelements\Image('https://s3.amazonaws.com/path/to/image');

Video

$subelement = new Thepixeldeveloper\Sitemap\Subelements\Video('thumbnail', 'title', 'description');

Mobile

$subelement = new Thepixeldeveloper\Sitemap\Subelements\Mobile();

Link

$subelement = new Thepixeldeveloper\Sitemap\Subelements\Link('de', 'http://www.example.com/schweiz-deutsch/');

News

$subelement = (new Thepixeldeveloper\Sitemap\Subelements\News())
    ->setPublicationDate(new \DateTime())
    ->setPublicationLanguage('en')
    ->setPublicationName('Site Name')
    ->setTitle('Some title');

Then you need to add the subelement to the URL

$url = new Thepixeldeveloper\Sitemap\Url('http://www.example.com/1')
$url->addSubelement($subelement);

and rendering is described above.

Advanced Usage

Indenting output

Output is indented by default, can be turned off as follows

echo (new Thepixeldeveloper\Sitemap\Output())
    ->setIndented(false)
    ->getOutput($urlSet);

Configuration

Name Default Values
setIndented true boolean
setIndentString 4 spaces string

Why should I use this over cartographer?

  • This library has less complexity. All it's going to do is build an object graph and spit it out as XML
  • Has support for a growing list of sub elements ie: mobile and images
  • No dependencies. A library outputting XML doesn't need to rely on Flysystem

About

Google XML Sitemap Generation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%