Giter Club home page Giter Club logo

kirby-seo's Introduction

available for work. → [email protected]

Side Projects

Kirby

Most of my side projects are provided free of charge & published under the permissive MIT License. If you use them in a commercial project, please consider to sponsor me on GitHub to support further development and continued maintenance of my plugins.

kirby-seo's People

Contributors

afbora avatar andrepimpao avatar jukra00 avatar tobimori avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

kirby-seo's Issues

Date format strftime has typo

How to use strftime as date format?
If I add this to the config it doesn't recognize the date format correctly:

'tobimori.seo' => [
  'generateSchema' => true,
  'canonicalIncludesWWW' => false,
  'dateFormat' => 'strftime',
  'robots' => [
      'active' => true,
      'content' => [
          '*' => [
              'Allow' => ['/'],
              'Disallow' => ['/kirby', '/panel', '/content']
          ]
      ]
  ]
],

Sitemap functionality

Taken over from the roadmap so I can have a few notes with things I noticed in a recent project:

  • (optional) seperate sitemaps for multi-language

  • (optional) seperate sitemaps for page templates

  • following options:

    • loc
    • lastmod (modified)
    • changefreq (config (per type) or blueprint?, have to decide)
    • priority (function in config, by default -0.2 for each new depth)

cache sitemap with manual staticache integration if enabled

no image or video functionality for the first release

Split Schema.org feature set in plugin addon

My client website size is 50mb and 33mb (1.867 Files) of it is the SEO plugin 🙂. 99% of this is due to spatie/schema-org dependency. Just thinking out loud. How does another light/lite version without schema (or lightweight schema library) sound to you?

No route found for path

Hello, the following error is being thrown in the panel on a page that is nested 3 levels deep. DO you know how I could go about debugging it?

No route found for path: "k-seo/retreats+portugal/registration/robots" and request method: "POST"

Screen Shot 2023-06-12 at 2 43 54 pm

Thanks!

configurable robots settings

problem:
an unlisted homepage gets a meta name="robots" content="none" tag.

possible solution:
configurable robots settings to impede this behavior.

overwrite for seo image

using the tobimori.seo.default one can overwrite the metaTitle or ogDescription but not which field gets resolved for the opengraph image. that would be handy to have to reuse an existing field.

Use correct format based on registered date handler

Right now, the default date format setting only works with strftime, which was my default for a long time but is DEPRECATED as of PHP 8.1.0.

In the future, the plugin should detect which date format to be used, if not overwritten by the config option:

  • Y-m-d for the default date handler
  • %Y-%m-%d for the strftime date handler
  • yyyy-MM-dd for the intl date handler

Workaround for using a different date handler: Use the config option provided.

Composer updates need to be applied manually

if you do versions below 1 composer behaves diverently than npm etc. i will NOT upgrade between minor versions. there is not warning - nothing.

so
0.1.x will not be upgraded to 0.2 if you do composer upgrade.

Defaults for Robots settings not applied for pages created before plugin was active

Not sure if this is actually a bug or intended:

On pages that were created BEFORE I installed the plugin, the Robots settings are not automatically set to Default, which is why an error message pop ups when trying to update and save those pages. I know this is the default Kirby behavior, but it's quite confusing for my clients. Maybe this can be solved with a hook?

Loving the plugin, by the way!

seo-preview not valid

After installing this plugin via composer and integrating it in my Kirby instance I see the following information in the SEO tab:
image
I had Meta Knight installed before (but not anymore), if that is important.
image

Theme Color Field

Theme color field selector based on the new Color field added to Kirby 4.

Default settings button lables

Great plugin! thank you.

Just wondering if this is bug? would look nicer if it just said "default" or does there need to default button at all? Could the default state not be inherited ?

Screenshot 2023-10-24 at 17 37 52

[K4] Translate issue

First load

screen-capture-1688-seo - Mægazine-localhost

After click an option

screen-capture-1689-seo - Mægazine-localhost

Info

  • Kirby 4.0.0-beta.1
  • Kirby Seo 0.4.0
  • Chrome 117
  • Windows 10

Plugin doesn't work

After downgrading to 0.3.4 (because of using Kirby 3.9.7) the plugin doesn't work anymore:
image
The code in the site.yml still is the same:
image
On page level:
image
Any hints how to fix this?

Support user-defined meta tags

I'd like to add additional tags (e.g. article:published_time and article:tag) when the og:type for my page is article.

Ideally I would be able to enumerate these extra tags in the config (and support them by providing data through my metaDefaults() page method).

Thanks for the great plugin!

Keyword Support

I know keywords are not really used anymore within SEO but clients still think so. Is there an easy way to include keywords input field and have them output in the meta data?

Replace Twitter Card Type with OG Crop

Several online services including Facebook and Discord also have separate previews for e.g. square icons, similar to the Twitter ones. As we already have a Twitter Card Type field, it makes sense to replace that with a generic cropping field, which is also respected for the og:image tag.

Meta cascade does not work with site globals

After installing this plugin and setting it up page updates remind me of defining specific SEO field even if I have set them already in the global site options:
image
Page update:
image
Page SEO tab:
image

Error when using $site->schema('WebSite')

When I do the following in my Kirby 4 Alpha:

$site->schema('WebSite') ->url($page->url()) ->description($site->Ogdescription()) ->copyrightYear(e(date("Y") === '2023', '2023', '2023 - ' . date("Y"))) ->copyrightHolder($site->companyLegalName() );

I get the following error:

Error thrown with message "Call to a member function id() on null"

image

Am I doing something wrong or is this a bug?

I am calling this in the header of my template,

<?php snippet('seo/schemas'); ?>

is included in the footer of my template.

How to use title template

Is not clear how to use the title template function, now i get only the page title or the value set in the root field. What i would like to have is "[root value] - [page value]"

Feedback regarding layout of Global Settings in Panel

Good afternoon,

when using the OOB blueprints, there are three main sections added:

  1. Global SEO Settings
  2. Global Open Graph Settings
  3. Robots Directives
    (4. and Social Media Accounts)

and I found that they confuse me:

  • The Global SEO Settings seem not to be global - at least, when I enter the following on the blueprint of the site.yml
    image
    .. and I go to the next page, the title and the page description is empty:
    image
    (I would expect the same content there)
  • The same goes for the "Global Open Graph Settings" - which are only partly global, partly page specific. I would suggest a split up here between the global settings on site.yml and the page specific once only showing on each page if thi is possible. If it is not possible, I would put the global settings on the bottom.
  • What I also do not understand is the Robots Directives section. It states the global default but does not select it - and thus the "required field" validator pops up meaning I have to do a manual selection for each page which defies the whole purpose of having global settings which can be overwritten on the page level, no? :)
  • The Social Media Accounts also do only make sense on a global level, not page level

Just my two cents :)

Andreas

Theme Color field

When Colors is installed, a dynamic blueprint should add a theme color field:
https://getkirby.com/plugins/hananils/colors

Otherwise, fall back to config option. Needs to be disabled if developers want to customize the theme color, e.g. with media queries (Panel UI should only focus on the simplest stuff)

How to define a logic for the description?

Is there a way to use this kind of logic for the description field?

            <?php if ($article->intro()->isNotEmpty()): ?>
                <?= $article->intro()->kirbytext() ?>
            <?php else: ?>
            <?php if ($page->text()->isNotEmpty()): ?>
                <?= $page->text()->kirbytext() ?>
            <?php else: ?>
                <?= $article->text()->toBlocks()->excerpt(300) ?>
            <?php endif ?>

Required fields passing to child's

Thanks for you plugin.
Is there something i need to set up in config, that it pass parent settings?
Im on Kirby 3.6 and of you plugin i use 0.3.4.

I have a page called jobs and subpages job

http://localhost:8888/jobs
http://localhost:8888/jobs/baufacharbeiter-100-m-w-d

I set on the parent page to pass all field infos to the child's but in my case it is not working.

Parent: - Jobs.yml
Bildschirmfoto 2023-10-18 um 11 22 10

Child: - Job.yml
Bildschirmfoto 2023-10-18 um 11 22 38

Also why I can't set something like this up in the site.yml?
For me i would prefer to set up in the site yml for all and defective it on each page - or as example
defective in the parent passing defective to child.

Site.yml - missing the possibility - pass to all pages and all childs
Bildschirmfoto 2023-10-18 um 11 26 17

Cookbook

Add a cookbook with articles, that e.g. explain stuff like programmatic meta data. Slim down docs to be like a reference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.