All Projects → stefandoorn → sitemap-plugin

stefandoorn / sitemap-plugin

Licence: MIT license
Sitemap Plugin for Sylius eCommerce platform

Programming Languages

PHP
23972 projects - #3 most used programming language
Twig
543 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to sitemap-plugin

scrape
Depth controllable Web scraper and Sitemap Generator in Go
Stars: ✭ 19 (-72.06%)
Mutual labels:  sitemap, sitemap-generator
jsitemapgenerator
Java sitemap generator. This library generates a web sitemap, can ping Google, generate RSS feed, robots.txt and more with friendly, easy to use Java 8 functional style of programming
Stars: ✭ 38 (-44.12%)
Mutual labels:  sitemap, sitemap-generator
sitewriter
A rust library to generate sitemaps.
Stars: ✭ 18 (-73.53%)
Mutual labels:  sitemap, sitemap-generator
SyliusInvoicingPlugin
This plugin enables generating invoices in Sylius platform application.
Stars: ✭ 21 (-69.12%)
Mutual labels:  ecommerce, sylius
express-sitemap-xml
Serve sitemap.xml from a list of URLs in Express
Stars: ✭ 56 (-17.65%)
Mutual labels:  sitemap, sitemap-generator
Sylius
Open Source eCommerce Platform on Symfony
Stars: ✭ 6,598 (+9602.94%)
Mutual labels:  ecommerce, sylius
ezplatform-sylius
eZ Platform and Sylius eCommerce integration
Stars: ✭ 31 (-54.41%)
Mutual labels:  ecommerce, sylius
SyliusReportPlugin
Report Plugin for Sylius. This plugin add a report interface to the Sylius administration. Some reports comes with this bundle but you can create your custom reports.
Stars: ✭ 25 (-63.24%)
Mutual labels:  ecommerce, sylius
X.Web.Sitemap
Simple sitemap generator for .NET
Stars: ✭ 66 (-2.94%)
Mutual labels:  sitemap, sitemap-generator
PayPalPlugin
Official integration with PayPal Commerce Platform
Stars: ✭ 21 (-69.12%)
Mutual labels:  ecommerce, sylius
SyliusWishlistPlugin
This plugin allows you to integrate wishlist features with Sylius platform app.
Stars: ✭ 51 (-25%)
Mutual labels:  ecommerce, sylius
grav-plugin-sitemap
Grav Sitemap Plugin
Stars: ✭ 34 (-50%)
Mutual labels:  sitemap, sitemap-generator
sitemap
A simple sitemap generator for Laravel Framework.
Stars: ✭ 32 (-52.94%)
Mutual labels:  sitemap, sitemap-generator
php-sitemap
PHP Simple Sitemap Generator
Stars: ✭ 16 (-76.47%)
Mutual labels:  sitemap, sitemap-generator
Gatsbylius
Fastest PWA eCommerce solution. Joins us as contributor.
Stars: ✭ 67 (-1.47%)
Mutual labels:  ecommerce, sylius
SyliusBannerPlugin
Add Banners to your Sylius projects with this plugin
Stars: ✭ 13 (-80.88%)
Mutual labels:  ecommerce, sylius
solidus virtual gift card
Virtual gift cards for your Solidus store.
Stars: ✭ 22 (-67.65%)
Mutual labels:  ecommerce
wagtail-snipcart
Django E-Commerce Tutorial: Wagtail CMS + Snipcart
Stars: ✭ 17 (-75%)
Mutual labels:  ecommerce
bolt-magento2
Bolt plugin for magento2
Stars: ✭ 17 (-75%)
Mutual labels:  ecommerce
E-commerceCustomerFYP
Android E-commerce Platform. Allow customer to buy product, chat, feedback rating, make payment to retailer
Stars: ✭ 41 (-39.71%)
Mutual labels:  ecommerce

Sylius Sitemap Plugin

License Version Build Coverage Status

Big thanks

Goes out to the Sylius team. The core code of this plugin is created by the Sylius team. Unfortunately it got removed from the Sylius core. Luckily the Sylius team approved the extraction to a separate bundle.

Features

  • Creates a sitemap index file to point to sub sitemap files per type of data
  • Default providers: taxons, products & static content (homepage & contact)
  • Easily add your own providers
  • Product provider supports locales (hreflang) & is channel aware
  • Taxon provider supports locales (hreflang)

Installation

  1. Run composer require stefandoorn/sitemap-plugin.
  2. Add to app/config/bundles.php:
  SitemapPlugin\SitemapPlugin::class => ['all' => true],
  1. Add to app/config/packages/_sylius.yaml:
    - { resource: "@SitemapPlugin/Resources/config/config.yaml" }
  1. Add to app/config/routes.yaml:
sylius_sitemap:
    resource: "@SitemapPlugin/Resources/config/routing.yml"
  1. Add to app/config/packages/sylius_sitemap.yaml:

  2. Forcing HTTPS on Generated URLs, see Symfony Docu. In console commands, where there is no HTTP request, URLs use http by default. You can change this globally with these configuration parameters:

# config/services.yaml
parameters:
    router.request_context.scheme: 'https'

Usage

Generate your sitemap from the CLI:

 $ bin/console sylius:sitemap:generate

Add this command to your cronjob to regularly generate a new sitemap, e.g. once a day.

If you only want to generate the sitemap for a specific channel, use:

 $ bin/console sylius:sitemap:generate --channel=US_WEB

The plugin defines three default URI's:

  • sitemap.xml: redirects to sitemap_index.xml
  • sitemap_index.xml: renders the sitemap index file (with links to the provider xml files)

Next to this, each provider registeres it's own URI. Take a look in the sitemap index file for the correct URI's.

Default Configuration

Get a full list of configuration: bin/console config:dump-reference sitemap

sitemap:
    providers:
        products: true
        taxons: true
        static: true
    template:             '@SitemapPlugin/show.xml.twig'
    index_template:       '@SitemapPlugin/index.xml.twig'
    exclude_taxon_root:   true
    hreflang:             true
    images:               true
    static_routes:
        - { route: sylius_shop_homepage, parameters: [], locales: [] }
        - { route: sylius_shop_contact_request, parameters: [], locales: [] }

The request context is also important for generating the URLs inside the sitemap:

  • The hostname is defined per channel, if nothing set it defaults to localhost
  • Other request context settings can be adjusted as mentioned in the Symfony docs

Default storage

By default the sitemaps will be saved in %kernel.root_dir%/var/sitemap. You can change this setting by adjusting the parameter sylius.sitemap.path.

Feature switches

Default providers

  • Products
  • Taxons
  • Static content (homepage & contact)

Add own provider

  • Register & tag your provider service with sylius.sitemap_provider
  • Let your provider implement UrlProviderInterface
  • Use one of the default providers as an example to implement code
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].