Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Sitemap
Sitemap
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Rockett.pw
  • SEO
  • SitemapSitemap
  • Merge Requests
  • !2

Closed
Opened Nov 22, 2019 by Philipp Daun@philippdaun
  • Report abuse
Report abuse

Add hook for supplying additional URLs for a page

  • Overview 1
  • Commits 5
  • Changes 2

Add a hookable method to define additional URLs for each page included in the sitemap apart from its actual URL.

Mainly useful for adding dynamic URL segments:

  • https://example.web/artists/some-artist/ (included)
  • https://example.web/de/kuenstler/ein-kuenstler/ (included)
  • https://example.web/artists/some-artist/gallery/ (URL segment added via hook)
  • https://example.web/de/kuenstler/ein-kuenstler/galerie/ (URL segment added via hook)

Example hook:

wire()->addHookAfter('MarkupSitemap::getAdditionalPageUrls', function ($event) {
  $page = $event->arguments(0);
  $language = $event->arguments(1);

  if ($page->template == 'artist') {
    $urls = [
      // Gallery sub-page
      'gallery' => [
        'url' => $page->httpUrl([
            'language' => $language,
            'urlSegmentStr' => _x('gallery', 'Slug'),
        ]),
        'modified' => $page->images->first->modified,
      ],
      // Profile sub-page
      'profile' => [
        'url' => $page->httpUrl([
            'language' => $language,
            'urlSegmentStr' => _x('profile', 'Slug'),
        ]),
        'priority' => 0.2,
      ],
    ];
  }

  $event->return = $urls;
});
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: rockettpw/seo/markup-sitemap!2
Source branch: additional-urls