{"id":15646350,"url":"https://github.com/nilportugues/php-sitemap","last_synced_at":"2026-03-05T02:02:48.057Z","repository":{"id":13323096,"uuid":"16009892","full_name":"nilportugues/php-sitemap","owner":"nilportugues","description":"Standalone sitemap builder 100% standards compliant.","archived":false,"fork":false,"pushed_at":"2019-10-25T01:12:50.000Z","size":679,"stargazers_count":50,"open_issues_count":4,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-27T16:31:30.228Z","etag":null,"topics":["bing","google","php","php7","search","search-engine","seo","sitemap","sitemap-files","xml"],"latest_commit_sha":null,"homepage":"http://nilportugues.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nilportugues.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-17T19:45:08.000Z","updated_at":"2025-08-27T12:05:30.000Z","dependencies_parsed_at":"2022-08-24T06:01:02.385Z","dependency_job_id":null,"html_url":"https://github.com/nilportugues/php-sitemap","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/nilportugues/php-sitemap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilportugues%2Fphp-sitemap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilportugues%2Fphp-sitemap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilportugues%2Fphp-sitemap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilportugues%2Fphp-sitemap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nilportugues","download_url":"https://codeload.github.com/nilportugues/php-sitemap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nilportugues%2Fphp-sitemap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30106145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T01:39:18.192Z","status":"online","status_checked_at":"2026-03-05T02:00:06.710Z","response_time":93,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bing","google","php","php7","search","search-engine","seo","sitemap","sitemap-files","xml"],"created_at":"2024-10-03T12:12:31.868Z","updated_at":"2026-03-05T02:02:48.019Z","avatar_url":"https://github.com/nilportugues.png","language":"PHP","funding_links":["https://paypal.me/nilportugues"],"categories":[],"sub_categories":[],"readme":"Sitemap Component\n=================\n\n[![Build Status](https://travis-ci.org/nilportugues/php-sitemap.svg)](https://travis-ci.org/nilportugues/php-sitemap) [![Coverage Status](https://img.shields.io/coveralls/nilportugues/sitemap-component.svg)](https://coveralls.io/r/nilportugues/sitemap-component) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nilportugues/sitemap-component/badges/quality-score.png)](https://scrutinizer-ci.com/g/nilportugues/sitemap-component/) [![Latest Stable Version](https://poser.pugx.org/nilportugues/sitemap-component/v/stable)](https://packagist.org/packages/nilportugues/sitemap-component) [![Total Downloads](https://poser.pugx.org/nilportugues/sitemap-component/downloads)](https://packagist.org/packages/nilportugues/sitemap-component) [![License](https://poser.pugx.org/nilportugues/sitemap-component/license)](https://packagist.org/packages/nilportugues/sitemap-component) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/b065a032-4ab2-4feb-a88c-d7a8423e1cf7/mini.png)](https://insight.sensiolabs.com/projects/b065a032-4ab2-4feb-a88c-d7a8423e1cf7)\n[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif)](https://paypal.me/nilportugues)\n\nBuilds sitemaps for pages, images and media files and provides a class to submit them to search engines.\n\n* [1.Installation](#block1)\n* [2. Features](#block2)\n* [3. Automatic sitemap submission](#block3)\n* [4. Usage](#block4) \n    * [4.1. Submit to search engines](#block4.1)\n    * [4.2. Build a Sitemap Index](#block4.2)\n      * [Creation](#block4.2.1)\n      * [Output](#block4.2.2)\n    * [4.3. Build a simple Sitemap](#block4.3)\n      * [Creation](#block4.3.1)\n      * [Output](#block4.3.2)\n    * [4.4. Build a Sitemap with Images](#block4.4)\n      * [Creation](#block4.4.1)\n      * [Output](#block4.4.2)\n    * [4.5. Build a Sitemap with Videos](#block4.5)\n      * [Creation](#block4.5.1)\n      * [Output](#block4.5.2)\n    * [4.6. Build a Media Sitemap (mRSS feed as a Sitemap)](#block4.6)\n      * [Creation](#block4.6.1)\n      * [Output](#block4.6.2)\n    * [4.7 - Build a Sitemap for News](#block4.7)\n      * [Creation](#block4.7.1)\n      * [Output](#block4.7.2)\n* [5. Fully tested](#block5)\n* [6. Questions?](#block6)\n* [7. Author](#block7)\n\n---\n\n\u003ca name=\"block1\"\u003e\u003c/a\u003e\n## 1.Installation\nThe recommended way to install the Sitemap Component is through [Composer](http://getcomposer.org). Run the following command to install it:\n\n```sh\nphp composer.phar require nilportugues/sitemap-component\n```\n---\n\n\u003ca name=\"block2\"\u003e\u003c/a\u003e\n## 2. Features\nThis component builds sitemaps supported by the main search engines, Google and Bing, in xml and gzip formats.\n\nThe **Sitemap Component** is able of building the following types of sitemaps:\n\n#### Sitemap Index\nA sitemap that serves as a index containing references to other sitemap.xml files. \nMore documentation can be found [here](https://support.google.com/webmasters/answer/71453?hl=en).\n\n#### Basic Sitemap\nText content sitemaps, the most common type of sitemap found around the Internet. \nMore documentation can be found [here](https://support.google.com/webmasters/answer/183668?hl=en\u0026ref_topic=8476).\n\n#### Image Sitemap\nSitemap for for images. More documentation can be found [here](https://support.google.com/webmasters/answer/178636?hl=en).\n\n#### Video Sitemap\nSitemap for for videos. More documentation can be found [here](https://support.google.com/webmasters/answer/80472?hl=en\u0026ref_topic=10079).\n\n#### Media Sitemap\nAlternative for video sitemaps. More documentation can be found [here](https://support.google.com/webmasters/answer/183265?hl=en).\n\n#### News Sitemap\nSitemap for news articles. More documentation can be found [here](https://support.google.com/webmasters/answer/74288?hl=en).\n\n#### Standard compilant\nThe sitemap component follow 100% the standards, meaning that it follows strictly the contrains:\n\n- A sitemap file cannot contain **50000 items per file**.\n- A sitemap file cannot be larger than **50 MBytes, uncompressed**.\n- An Image Sitemap file cannot contain more than **1000 images** per `\u003curl\u003e` element.\n\n---\n\n\u003ca name=\"block3\"\u003e\u003c/a\u003e\n## 3. Automatic sitemap submission\n\nThis component also provides a method to submit the generated sitemaps to the following search engines:\n- Google\n- Bing\n\n---\n\n\u003ca name=\"block4\"\u003e\u003c/a\u003e\n## 4. Usage\n\n\u003ca name=\"block4.1\"\u003e\u003c/a\u003e\n### 4.1 - Submit to search engines\n```php\n\u003c?php\nuse NilPortugues\\Sitemap\\SubmitSitemap;\n\n// $status = ['google' =\u003e true, 'bing' =\u003e true]; if everything went OK.\n$status = SubmitSitemap::send('http://example.com/sitemap-index.xml');\n```\n\n\u003ca name=\"block4.2\"\u003e\u003c/a\u003e\n### 4.2 - Build a Sitemap Index\n\nIn order to use a Sitemap Index, you need to build sitemap files first. Check out 4.3, 4.4 and 4.5.\n\n\u003ca name=\"block4.2.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\IndexSitemap;\nuse NilPortugues\\Sitemap\\Item\\Index\\IndexItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new IndexSitemap('path/to/folder','sitemap.index.xml');\n\n    $item = new IndexItem('http://www.example.com/sitemap.content.xml');\n    $item-\u003esetLastMod('2005-05-10T17:33:30+08:00'); //Optional\n    $sitemap-\u003eadd($item);\n\n    $item = new IndexItem('http://www.example.com/sitemap.media.xml');\n    $item-\u003esetLastMod('2005-05-10T17:33:30+08:00');\n    $sitemap-\u003eadd($item);\n\n    $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.2.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003csitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\u003e\n  \u003csitemap\u003e\n    \u003cloc\u003ehttp://www.example.com/sitemap.content.xml\u003c/loc\u003e\n    \u003clastmod\u003e2005-05-10T17:33:30+08:00\u003c/lastmod\u003e\n  \u003c/sitemap\u003e\n  \u003csitemap\u003e\n    \u003cloc\u003ehttp://www.example.com/sitemap.media.xml\u003c/loc\u003e\n    \u003clastmod\u003e2005-05-10T17:33:30+08:00\u003c/lastmod\u003e\n  \u003c/sitemap\u003e\n\u003c/sitemapindex\u003e\n```\n\n\n\u003ca name=\"block4.3\"\u003e\u003c/a\u003e\n### 4.3 - Build a simple Sitemap\n\n\u003ca name=\"block4.3.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\Sitemap;\nuse NilPortugues\\Sitemap\\Item\\Url\\UrlItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new Sitemap('path/to/folder','sitemap.index.xml');\n\n    $item = new UrlItem('http://www.example.com/');\n    $item-\u003esetPriority('1.0'); //Optional\n    $item-\u003esetChangeFreq('daily'); //Optional\n    $item-\u003esetLastMod('2014-05-10T17:33:30+08:00'); //Optional\n    $sitemap-\u003eadd($item);\n\n    $item = new UrlItem('http://www.example.com/blog');\n    $item-\u003esetPriority('0.9');\n    $item-\u003esetChangeFreq('monthly');\n    $item-\u003esetLastMod('2014-05-10T17:33:30+08:00');\n    $sitemap-\u003eadd($item);\n\n    $item = new UrlItem('http://www.example.com/contact');\n    $item-\u003esetPriority('0.8');\n    $item-\u003esetChangeFreq('never');\n    $item-\u003esetLastMod('2014-05-10T17:33:30+08:00');\n    $sitemap-\u003eadd($item);\n\n    $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.3.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\u003e\n  \u003curl\u003e\n    \u003cloc\u003ehttp://www.example.com/\u003c/loc\u003e\n    \u003clastmod\u003e2014-05-10T17:33:30+08:00\u003c/lastmod\u003e    \n    \u003cchangefreq\u003edaily\u003c/changefreq\u003e    \n    \u003cpriority\u003e1.0\u003c/priority\u003e\n  \u003c/url\u003e\n  \u003curl\u003e\n    \u003cloc\u003ehttp://www.example.com/blog\u003c/loc\u003e\n    \u003clastmod\u003e2014-05-10T17:33:30+08:00\u003c/lastmod\u003e    \n    \u003cchangefreq\u003emonthly\u003c/changefreq\u003e\n    \u003cpriority\u003e0.9\u003c/priority\u003e    \n  \u003c/url\u003e\n  \u003curl\u003e\n    \u003cloc\u003ehttp://www.example.com/contact\u003c/loc\u003e\n    \u003clastmod\u003e2014-05-10T17:33:30+08:00\u003c/lastmod\u003e    \n    \u003cchangefreq\u003enever\u003c/changefreq\u003e\n    \u003cpriority\u003e0.8\u003c/priority\u003e\n  \u003c/url\u003e    \n\u003c/urlset\u003e\n```\n\n\u003ca name=\"block4.4\"\u003e\u003c/a\u003e\n### 4.4 - Build a Sitemap with Images\n\n\u003ca name=\"block4.4.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\ImageSitemap;\nuse NilPortugues\\Sitemap\\Item\\Image\\ImageItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new ImageSitemap('path/to/folder','sitemap.image.xml');\n\n    $item = new ImageItem('http://www.example.com/logo.png');\n    $item-\u003esetTitle('Example.com logo'); //Optional\n    $sitemap-\u003eadd($item,'http://www.example.com/');\n\n    $item = new ImageItem('http://www.example.com/main.png');\n    $item-\u003esetTitle('Main image'); //Optional\n    $sitemap-\u003eadd($item,'http://www.example.com/');\n\n    $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.4.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\nxmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\"\u003e\n  \u003curl\u003e\n    \u003cloc\u003ehttp://www.example.com/\u003c/loc\u003e\n    \u003cimage:image\u003e\n      \u003cimage:loc\u003e\u003c![CDATA[http://www.example.com/logo.png]]\u003e\u003c/image:loc\u003e\n      \u003cimage:title\u003e\u003c![CDATA[Example.com logo]]\u003e\u003c/image:title\u003e\n    \u003c/image:image\u003e\n    \u003cimage:image\u003e\n      \u003cimage:loc\u003e\u003c![CDATA[http://www.example.com/main.png]]\u003e\u003c/image:loc\u003e\n      \u003cimage:title\u003e\u003c![CDATA[Main image]]\u003e\u003c/image:title\u003e\n    \u003c/image:image\u003e\n  \u003c/url\u003e\n\u003c/urlset\u003e\n```\n\n\u003ca name=\"block4.5\"\u003e\u003c/a\u003e\n### 4.5 - Build a Sitemap with videos\n\u003ca name=\"block4.5.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\VideoSitemap;\nuse NilPortugues\\Sitemap\\Item\\Video\\VideoItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new VideoSitemap('path/to/folder','sitemap.video.xml');\n\n    $item = new VideoItem(\n        'Grilling steaks for summer', //Title\n        'http://www.example.com/video123.flv', //URL\n        'http://www.example.com/videoplayer.swf?video=123', //Player URL\n        'yes', //Optional\n        'ap=1' //Optional\n    );\n\n    //Optional Values\n    $item-\u003esetDescription('Alkis shows you how to get perfectly done steaks everytime');\n    $item-\u003esetThumbnailLoc('http://www.example.com/thumbs/123.jpg');\n    $item-\u003esetDuration(600);\n    $item-\u003esetExpirationDate('2009-11-05T19:20:30+08:00');\n    $item-\u003esetRating(4.2);\n    $item-\u003esetViewCount(12345);\n    $item-\u003esetPublicationDate('2007-11-05T19:20:30+08:00');\n    $item-\u003esetFamilyFriendly('yes');\n    $item-\u003esetRestriction('IE GB US CA', 'allow');\n    $item-\u003esetGalleryLoc('http://cooking.example.com', 'Cooking Videos');\n    $item-\u003esetPrice('0.99','EUR','rent','HD');\n    $item-\u003esetPrice('0.75','EUR','rent','SD');\n    $item-\u003esetCategory('cooking');\n    $item-\u003esetTag(array('action','drama','entrepreneur'));\n    $item-\u003esetRequiresSubscription('yes');\n    $item-\u003esetUploader('GrillyMcGrillerson', 'http://www.example.com/users/grillymcgrillerson');\n    $item-\u003esetPlatform('web mobile tv', 'allow');\n    $item-\u003esetLive('no');\n\n    $sitemap-\u003eadd($item,'http://www.example.com/');\n\n    $files = $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.5.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:video=\"http://www.google.com/schemas/sitemap-video/1.1\"\u003e\n\t\u003curl\u003e\n\t\t\u003cloc\u003ehttp://www.example.com/\u003c/loc\u003e\n\t\t\u003cvideo:video\u003e\n\t\t\t\u003cvideo:thumbnail_loc\u003e\u003c![CDATA[http://www.example.com/thumbs/123.jpg]]\u003e\u003c/video:thumbnail_loc\u003e\n\t\t\t\u003cvideo:title\u003e\u003c![CDATA[Grilling steaks for summer]]\u003e\u003c/video:title\u003e\n\t\t\t\u003cvideo:description\u003e\u003c![CDATA[Alkis shows you how to get perfectly done steaks everytime]]\u003e\u003c/video:description\u003e\n\t\t\t\u003cvideo:content_loc\u003e\u003c![CDATA[http://www.example.com/video123.flv]]\u003e\u003c/video:content_loc\u003e\n\t\t\t\u003cvideo:duration\u003e\u003c![CDATA[600]]\u003e\u003c/video:duration\u003e\n\t\t\t\u003cvideo:expiration_date\u003e\u003c![CDATA[2009-11-05T19:20:30+08:00]]\u003e\u003c/video:expiration_date\u003e\n\t\t\t\u003cvideo:publication_date\u003e\u003c![CDATA[2007-11-05T19:20:30+08:00]]\u003e\u003c/video:publication_date\u003e\n\t\t\t\u003cvideo:restriction relationship=\"allow\"\u003eIE GB US CA\u003c/video:restriction\u003e\n\t\t\t\u003cvideo:gallery_loc title=\"Cooking Videos\"\u003ehttp://cooking.example.com\u003c/video:gallery_loc\u003e\n\t\t\t\u003cvideo:price currency=\"EUR\" type=\"rent\" resolution=\"HD\" \u003e0.99\u003c/video:price\u003e\n\t\t\t\u003cvideo:price currency=\"EUR\" type=\"rent\" resolution=\"SD\" \u003e0.75\u003c/video:price\u003e\n\t\t\t\u003cvideo:tag\u003eaction\u003c/video:tag\u003e\n\t\t\t\u003cvideo:tag\u003edrama\u003c/video:tag\u003e\n\t\t\t\u003cvideo:tag\u003eentrepreneur\u003c/video:tag\u003e\n\t\t\t\u003cvideo:requires_subscription\u003e\u003c![CDATA[yes]]\u003e\u003c/video:requires_subscription\u003e\n\t\t\t\u003cvideo:uploader\u003eGrillyMcGrillerson\u003c/video:uploader\u003e\n\t\t\t\u003cvideo:platform relationship=\"allow\"\u003eweb mobile tv\u003c/video:platform\u003e\n\t\t\t\u003cvideo:live\u003e\u003c![CDATA[no]]\u003e\u003c/video:live\u003e\n\t\t\u003c/video:video\u003e\n\t\u003c/url\u003e\n\u003c/urlset\u003e\n```\n\n\u003ca name=\"block4.6\"\u003e\u003c/a\u003e\n### 4.6 - Build a Media Sitemap (mRSS feed as a Sitemap)\n\n\u003ca name=\"block4.6.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\MediaSitemap;\nuse NilPortugues\\Sitemap\\Item\\Media\\MediaItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new MediaSitemap('path/to/folder','sitemap.media.xml');\n\n    $sitemap-\u003esetTitle('Media RSS de ejemplo');\n    $sitemap-\u003esetLink('http://www.example.com/ejemplos/mrss/');\n    $sitemap-\u003esetDescription('Ejemplo de MRSS');\n\n    $item = new MediaItem('http://www.example.com/examples/mrss/example1.html');\n\n    //Optional\n    $item-\u003esetContent('video/x-flv', 120);\n    $item-\u003esetPlayer('http://www.example.com/shows/example/video.swf?flash_params');\n    $item-\u003esetTitle('Barbacoas en verano');\n    $item-\u003esetDescription('Consigue que los filetes queden perfectamente hechos siempre');\n    $item-\u003esetThumbnail('http://www.example.com/examples/mrss/example1.png', 120, 160);\n\n    $sitemap-\u003eadd($item);\n\n    $item = new MediaItem('http://www.example.com/examples/mrss/example2.html');\n    $item-\u003esetContent('video/x-flv', 120);\n    $item-\u003esetPlayer('http://www.example.com/shows/example/video.swf?flash_params');\n    $item-\u003esetTitle('Barbacoas en invierno');\n    $item-\u003esetDescription('Consigue unos filetes frios');\n    $item-\u003esetThumbnail('http://www.example.com/examples/mrss/example2.png', 120, 160);\n    $sitemap-\u003eadd($item);\n\n    $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.6.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003crss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\" xmlns:dcterms=\"http://purl.org/dc/terms/\"\u003e\n\u003cchannel\u003e\n  \u003ctitle\u003eMedia RSS de ejemplo\u003c/title\u003e\n  \u003clink\u003ehttp://www.example.com/ejemplos/mrss/\u003c/link\u003e\n  \u003cdescription\u003eEjemplo de MRSS\u003c/description\u003e\n  \u003citem xmlns:media=\"http://search.yahoo.com/mrss/\" xmlns:dcterms=\"http://purl.org/dc/terms/\"\u003e\n    \u003clink\u003ehttp://www.example.com/examples/mrss/example1.html\u003c/link\u003e\n    \u003cmedia:content type=\"video/x-flv\" duration=\"120\"\u003e\n      \u003cmedia:player url=\"http://www.example.com/shows/example/video.swf?flash_params\" /\u003e\n      \u003cmedia:title\u003eBarbacoas en verano\u003c/media:title\u003e\n      \u003cmedia:description\u003eConsigue que los filetes queden perfectamente hechos siempre\u003c/media:description\u003e\n      \u003cmedia:thumbnail url=\"http://www.example.com/examples/mrss/example1.png\" height=\"120\" width=\"160\"/\u003e\n    \u003c/media:content\u003e\n  \u003c/item\u003e\n  \u003citem xmlns:media=\"http://search.yahoo.com/mrss/\" xmlns:dcterms=\"http://purl.org/dc/terms/\"\u003e\n    \u003clink\u003ehttp://www.example.com/examples/mrss/example2.html\u003c/link\u003e\n    \u003cmedia:content type=\"video/x-flv\" duration=\"240\"\u003e\n      \u003cmedia:player url=\"http://www.example.com/shows/example/video.swf?flash_params\" /\u003e\n      \u003cmedia:title\u003eBarbacoas en invierno\u003c/media:title\u003e\n      \u003cmedia:description\u003eConsigue unos filetes frios\u003c/media:description\u003e\n      \u003cmedia:thumbnail url=\"http://www.example.com/examples/mrss/example2.png\" height=\"120\" width=\"160\"/\u003e\n    \u003c/media:content\u003e\n  \u003c/item\u003e\n\u003c/channel\u003e\n\u003c/rss\u003e\n```\n\n\u003ca name=\"block4.7\"\u003e\u003c/a\u003e\n### 4.7 - Build a Sitemap for News\n\u003ca name=\"block4.7.1\"\u003e\u003c/a\u003e\n#### Creation\n```php\nuse NilPortugues\\Sitemap\\NewsSitemap;\nuse NilPortugues\\Sitemap\\Item\\News\\NewsItem;\nuse NilPortugues\\Sitemap\\SitemapException;\n\ntry {\n    $sitemap = new NewsSitemap('path/to/folder','sitemap.news.xml');\n\n    $item = new NewsItem(\n        'http://www.example.org/business/article55.html', //URL\n        'Companies A, B in Merger Talks', //Title\n        '2008-12-23', //Publication Date\n        'The Example Times', //Publication Name\n        'en' //locale\n    );\n\n    //Optional Values\n    $item-\u003esetAccess('Subscription');\n    $item-\u003esetKeywords('business, merger, acquisition, A, B');\n    $item-\u003esetStockTickers('NASDAQ:A, NASDAQ:B');\n    $item-\u003esetGenres('PressRelease, Blog');\n\n    $sitemap-\u003eadd($item);\n    $sitemap-\u003ebuild();\n\n} catch (SitemapException $e) {\n    echo $e-\u003egetMessage();\n}\n```\n\u003ca name=\"block4.7.2\"\u003e\u003c/a\u003e\n#### Output\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:news=\"http://www.google.com/schemas/sitemap-news/0.9\"\u003e\n  \u003curl\u003e\n    \u003cloc\u003ehttp://www.example.org/business/article55.html\u003c/loc\u003e\n    \u003cnews:news\u003e\n      \u003cnews:publication\u003e\n        \u003cnews:name\u003eThe Example Times\u003c/news:name\u003e\n        \u003cnews:language\u003een\u003c/news:language\u003e\n      \u003c/news:publication\u003e\n      \u003cnews:access\u003eSubscription\u003c/news:access\u003e\n      \u003cnews:genres\u003ePressRelease, Blog\u003c/news:genres\u003e\n      \u003cnews:publication_date\u003e2008-12-23\u003c/news:publication_date\u003e\n      \u003cnews:title\u003eCompanies A, B in Merger Talks\u003c/news:title\u003e\n      \u003cnews:keywords\u003ebusiness, merger, acquisition, A, B\u003c/news:keywords\u003e\n      \u003cnews:stock_tickers\u003eNASDAQ:A, NASDAQ:B\u003c/news:stock_tickers\u003e\n    \u003c/news:news\u003e\n  \u003c/url\u003e\n\u003c/urlset\u003e\n```\n\n---\n\n\u003ca name=\"block5\"\u003e\u003c/a\u003e\n## 5. Fully tested.\nTesting has been done using PHPUnit and [Travis-CI](https://travis-ci.org). All code has been tested to be compatible from PHP 5.4 up to PHP 5.6 and [Facebook's HHVM](http://hhvm.com/).\n\n---\n\u003ca name=\"block6\"\u003e\u003c/a\u003e\n## 6. Questions?\n\nDrop me an e-mail or get in touch with me using [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/nilportugues/sitemap-component?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n\n--\n\n\u003ca name=\"block7\"\u003e\u003c/a\u003e\n## 7. Author\nNil Portugués Calderó\n - \u003ccontact@nilportugues.com\u003e\n - http://nilportugues.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilportugues%2Fphp-sitemap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnilportugues%2Fphp-sitemap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnilportugues%2Fphp-sitemap/lists"}