Jump to content

SeoMaestro


Wanze

Recommended Posts

Great work @Wanze!

 

Haven't had the chance to deploy it on a client's project but I gave it a test-drive within an experiment I prepare right now and I really like it.

Everything worked as expected as far as I can tell by now and I should be able to replace my previous set of fields with this module but there is one thing I miss.(One tiny thing I miss in every SEO module/plugin I used in the past.)

Custom canonical URL

I need the option to change the canonical URL of a page.
I could use the module and a custom field for that. Problem solved.

I don't know if anyone else ever had the need to change it but I didn't want to miss the opportunity to give this as a kind of feedback - and not as a kind of feature request.

Link to comment
Share on other sites

Wow... good to see there is someone else who needs this as well.

My personal preference would be: right in the meta group after keywords.

By now I think creating a new group seems to be kind of an overhead. We could argue about semantics and meanings but having this option almost above the fold seems to be a much nicer user experience.

  • Like 2
Link to comment
Share on other sites

10 hours ago, wbmnfktr said:

By now I think creating a new group seems to be kind of an overhead. We could argue about semantics and meanings but having this option almost above the fold seems to be a much nicer user experience.

I agree. Let's put it in the meta group. 👍 There is also no need to setup default values for the canonical url, it always equals the page's url unless overridden.

  • Like 3
Link to comment
Share on other sites

9 minutes ago, Peter Knight said:

Are you replacing these manually or with some script?

In my testing project there is no need to do anything right now.
But I plan to test it on a more established site in the near future and in that case I will replace everything manually as I redo the SEO stuff then as well.

 

  • Like 1
Link to comment
Share on other sites

@tiefenbacher_bluetomato Here is an example script from my migration. Note that I did not use MarkupSeo, in my case I had two fields "seoTitle" and "seoDescription". I highly recommend using the migrations module to execute such logic.

        $pages = $this->wire('pages')->findMany("seoTitle|seoDescription!='',include=all");

        foreach ($pages as $page) {
            if (!$page->hasField('seo')) {
                continue;
            }

			$page->of(false);
            
			foreach ($this->wire('languages') as $language) {
                $this->wire('user')->language = $language;
                $title = $page->seoTitle->getLanguageValue($language);
                $desc = $page->seoDescription->getLanguageValue($language);
                $page->seo->meta->title = $title ?: 'inherit';
                $page->seo->meta->description = $desc ?: 'inherit';
            }

            $page->save();
        }

 

  • Like 3
Link to comment
Share on other sites

Hi fellow Seo Maestros,

The next version 0.6.0 adds the ability to customize the canonical URL of a page:

  • The canonical URL is part of the "meta" group.
  • You must enable the canonical URL under the "Input" settings of your SeoMaestro field, if the content editors should be allowed to change it.

This release also includes a new hook to add custom items to the XML sitemap, useful if you have pages using URL segments to present additional content.

Cheers

  • Like 4
Link to comment
Share on other sites

On 3/12/2019 at 11:20 AM, Wanze said:

@tiefenbacher_bluetomato Here is an example script from my migration. Note that I did not use MarkupSeo, in my case I had two fields "seoTitle" and "seoDescription". I highly recommend using the migrations module to execute such logic.


        $pages = $this->wire('pages')->findMany("seoTitle|seoDescription!='',include=all");

        foreach ($pages as $page) {
            if (!$page->hasField('seo')) {
                continue;
            }

			$page->of(false);
            
			foreach ($this->wire('languages') as $language) {
                $this->wire('user')->language = $language;
                $title = $page->seoTitle->getLanguageValue($language);
                $desc = $page->seoDescription->getLanguageValue($language);
                $page->seo->meta->title = $title ?: 'inherit';
                $page->seo->meta->description = $desc ?: 'inherit';
            }

            $page->save();
        }

 

thanks, works great 🙂

 

Link to comment
Share on other sites

Hey Wanze, nice Job!

One question, how am I supposed to see the sitemap.xml?
At the moment the format is like this:
 

http://localhost:8888/ 2019-03-13T14:38:29+00:00 monthly 0.5 http://localhost:8888/it/ 2019-03-13T14:38:29+00:00 monthly 0.5 http://localhost:8888/en/blog/ 2019-03-13T16:37:47+00:00 monthly 0.5 http://localhost:8888/it/blog/ 2019-03-13T16:37:47+00:00monthly 0.5

 

Moreover, you were talking about adding it as a tab using InputFieldsetOpen, can you point out where I can find more details about it?

Link to comment
Share on other sites

1 hour ago, Michkael said:

One question, how am I supposed to see the sitemap.xml?

Looks fine, if you inspect the source code you will see the XML markup. This is not a sitemap for users, but one you can submit to search engines, see here: https://support.google.com/webmasters/answer/183668?hl=en

1 hour ago, Michkael said:

Moreover, you were talking about adding it as a tab using InputFieldsetOpen, can you point out where I can find more details about it?

Here is a quick how-to, i did not find this feature in the docs:

  • Create a new field of type "FieldsetTab", e.g. "Seo Settings"
  • Use this field to group other fields that should be displayed in the new tab

A screenshot is probably easier 🙂

1417348003_Bildschirmfoto2019-03-13um18_56_23.thumb.png.b75f1463586a6476b5fbe50f98d89e2f.png

  • Like 2
Link to comment
Share on other sites

I am still here unfortunately.

I am having problem with the metadata generation and I don't understand if it is this module or what.
When I analyse my url on linkeding post inspector, I get this error: "We detected a redirect loop while following the redirect trail from https://xxx.io/en/blog/the-future-xxx/, so we will not scrape this content."

When i open the source code of the page I find this:
 

<link rel="alternate" href="https://xxx.io/en/blog/the-future-xxx/" hreflang="en">
<link rel="alternate" href="https://xxx.io/en/blog/the-future-xxx/" hreflang="x-default">
<link rel="alternate" href="https://xxx.io/it/blog/il-futuro-xxx/" hreflang="it">  <meta name="viewport" content="width=device-width, initial-scale=1">

Can you help me out? Do you know why it is doing so?

Link to comment
Share on other sites

Thank you, I will check that.

Btw at the moment I wanted to remove the SEO Maestro just for a testing purpose but everytime I uninstall it, it reappears in my installed modules.
Moreover the sitemap.xml, I have moved it back to sitemap.seomaestro.xml but it keeps appearing also at sitemap.xml.

 

Link to comment
Share on other sites

I seem to be getting an error with the sitemap.xml file with Google Webmaster Tools. It doesn't like the date format and I think it's due to the time format after the date.

Link to comment
Share on other sites

Excellent work Wanze, thank you very much!
What do you think about moving the seo-stuff in a new tab in the page editor like MarkupSEO does?
So it would be completely detached from the content tab. Content and SEO separated.

 

 

Link to comment
Share on other sites

  • 3 weeks later...

Thank you @Wanze for this great module.

Only one thing to mention:

From the point of security it is not recommended to add the generator metatag (or any other information to help hackers to know something about the system).

So it would be great to add a setting checkbox to disable the rendering of this metatag. I know I can render each metatag separately but using your render method ($page->seo->render()) would be much more comfortable 🙂.

Best regards Jürgen

  • Like 2
Link to comment
Share on other sites

I think is an issue when the module Helper Field Links is installed with SeoMaestro

Note on the left screen, each field has display issues with the field name. I could probably hide it with some CSS but wondered if you'd consider making it work out of the box.

 

Screenshot 2019-04-16 at 20.27.02.png

  • Like 2
Link to comment
Share on other sites

9 hours ago, Peter Knight said:

I think is an issue when the module Helper Field Links is installed with SeoMaestro

I have not installed this module and I have the same problem. On my current installation I have only installed a few modules. So I guess it has nothing to do with other modules.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...