initbiz / seostorm-plugin Goto Github PK
View Code? Open in Web Editor NEWSEO Storm - ultimate SEO tool for OctoberCMS
License: MIT License
SEO Storm - ultimate SEO tool for OctoberCMS
License: MIT License
Hello.
Thanks for your plugin!
Is there support for Rainlab-translate 2.06?
Or you can suggest what changes to make so that your plugin supports Rainlab-translate 2.06.
Thank you!
Hello,
Just installed octobercms 3.1, I get a critical error due to seostorm when I go to the editor tab :
Class "RainLab\Translate\Models\Locale" not found
Best regards,
Alex
Hi,
would it be possible to accept svg files as favicons in the config ? I can upload the file and save it in teh settings, but it is still showing the browser default item instead of my file.
Is it because of a resizing process that dies in the process with that filetype ?
Thanks
After installing the SEO Storm plugin, I am getting this error when I load a front end page. I notice it is conflicting with the Twig Extensions plugin from Vojta Svoboda. Is there a way to resolve this?
twig_template_from_string(): Argument #1 ($env) must be of type Twig\Environment, string given, called in /modules/system/classes/MarkupExtensionItem.php on line 166
function twig_template_from_string(Environment $env, $template, string $name = null): TemplateWrapper
Thanks.
Hello,
First, thank you for your plugin. All necessary features are integrated in an elegant way, congratulation.
I have a very small suggestion, coming from our SEO manager. October CMS already have a meta title and meta description field for CMS page, it would be great to remove (or hide ?) them when SEO Storm is enabled as they have the same purpose and can bring confusions.
It's a small detail, but you now : the devil is in the details 👿
Best regards,
Hello,
The default page title and description in settings is a nice option. However, sometimes, it's not flexible enought.
Sometimes, there are some pages where you want to display the title as prefix or suffix and sometimes not.
You can say (you have the "nowhere" option to handle that manually). It's right, but it could be even better if we could use a token to call the page title or separator defined in settings when you setup the metas for a specific page.
Something like :
Welcome to my new site {{ separator }} {{ title }}
In another page it would be :
{{ title }} {{ separator }} Welcome to my new page
etc... you get it.
Best regards,
Will there be support for this version?
Hello!
In the Octobercms 3.0.27 logs, there is such an error
Error: Call to a member function run() on null in /var/www/imperial.local/public_html/plugins/initbiz/seostorm/routes.php:32
Hy, i am having this issue while updating:
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires initbiz/seostorm-plugin 4.1.1, it is satisfiable by initbiz/seostorm-plugin[4.1.1] from composer repo (https://repo.packagist.org) but initbiz/seostorm-plugin[dev-october-v1, dev-favicon, dev-dev-561-behavior, 2.0.0, 2.0.1, 3.0.0, 3.0.1, 4.0.0, ..., 4.1.0] from composer repo (https://gateway.octobercms.com) has higher repository priority. The packages with higher priority do not match your constraint and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Can you help me with this problem?
Thnaks
Hi. I'm using your plugin in portfolio model.
I've included the fields
public function registerStormedModels()
{
return [
'\Depcore\Portfolio\Models\PortfolioItem' => [
'placement' => 'tabs',
],
];
}
The problem is that on the portfolio item page the page description and title is always the one from the main page, I've tried adding the dynamic properties as {{ model.seo_options.meta_description }} {{ PortfolioItem.seo_options.meta_description }} {{ portfolio_item.seo_options.meta_description }}
and so on but still get an empty title and description
Example for a different model Service with the same problem.
When I check the 'Use "updated_at" from the model as "Last time modified"' option under the Sitemap tab in a RainLab.Pages page, the sitemap entry shows the current timestamp instead of the updated_at value.
Every time I refresh the page, the <lastmod>
value changes to the current timestamp.
I am using October CMS v2.1.15 and Initbiz.SeoStorm v3.0.0 from the Marketplace.
Hy sorry but the issue is still not working in version 4.1.1, this is my page configuration:
url = "/sell/:uniqid?"
layout = "steps"
title = "Demo Title"
is_hidden = 0
seoOptionsMetaTitle = "Demo Title"
seoOptionsMetaDescription = "Demo Description"
seoOptionsEnabledInSitemap = 1
seoOptionsUseUpdatedAt = 1
seoOptionsRobotIndex = "index"
seoOptionsRobotFollow = "follow"
seoOptionsOgCard = "summary-large-image"
seoOptionsPriority = 0.5
Sitemap result:
<url>
<loc>http://domain.test:8080/sell/:uniqid?</loc>
<lastmod>2022-02-21T09:43:26+00:00</lastmod>
<priority>0.5</priority>
</url>
I do not have models for this page, i use it to submit only a form.
Thanks you
October CMS version: v2.2.35
Hello. The plugin installs nicely but has bust my Editor section. I get the following error:
I also have no admin settings which seems strange.
`Install the plugin and then add the SEO component in site's head section, whether it's a page or layout.
Go to Settings -> SEO Storm -> General settings and configure to suit your needs.`
Because the Editor is broken I can't add the SEO component which I think would solve the issue.
Any help appriciated.
After installed plugin I cannot acess Page section. I had following error. My octobercms build is 473
Call to undefined method October\Rain\Halcyon\Builder::addFillable()
/vendor/october/rain/src/Halcyon/Builder.php line 789
-- | -- | -- | --
71 | October\Rain\Halcyon\Builder->__call(…) | |
70 | call_user_func_array(…) | ~/vendor/october/rain/src/Halcyon/Model.php | 1697
69 | October\Rain\Halcyon\Model->__call(…) | ~/modules/cms/Classes/CmsCompoundObject.php | 485
68 | Cms\Classes\CmsCompoundObject->__call(…) | ~/plugins/initbiz/seostorm/eventhandlers/BackendHandler.php | 91
67 | Initbiz\SeoStorm\EventHandlers\BackendHandler->Initbiz\SeoStorm\EventHandlers{closure}(…) | |
66 | call_user_func(…) | ~/vendor/october/rain/src/Extension/ExtendableTrait.php | 60
65 | October\Rain\Extension\Extendable->extendableConstruct() | ~/vendor/october/rain/src/Extension/Extendable.php | 31
64 | October\Rain\Extension\Extendable->__construct() | ~/vendor/october/rain/src/Halcyon/Model.php | 158
63 | October\Rain\Halcyon\Model->__construct(…) | ~/modules/cms/Classes/Page.php | 56
62 | Cms\Classes\Page->__construct() | ~/vendor/october/rain/src/Halcyon/Model.php | 550
61 | October\Rain\Halcyon\Model::on(…) | ~/modules/cms/Classes/CmsObject.php | 191
60 | Cms\Classes\CmsObject::inTheme(…) | ~/modules/cms/Classes/CmsObject.php | 131
59 | Cms\Classes\CmsObject::listInTheme(…) | ~/modules/cms/controllers/index.php | 92
58 | Cms\Controllers\Index->Cms\Controllers{closure}() | |
57 | call_user_func(…) | ~/modules/cms/Widgets/TemplateList.php | 161
56 | Cms\Widgets\TemplateList->getData() | ~/modules/cms/Widgets/TemplateList.php | 119
55 | Cms\Widgets\TemplateList->render() | ~/modules/cms/controllers/index/_sidepanel.htm | 16
54 | include(…) | ~/modules/system/Traits/ViewMaker.php | 247
53 | Backend\Classes\Controller->makeFileContents(…) | ~/modules/system/Traits/ViewMaker.php | 97
52 | Backend\Classes\Controller->makePartial(…) | ~/modules/cms/controllers/index/index.htm | 3
51 | include(…) | ~/modules/system/Traits/ViewMaker.php | 247
50 | Backend\Classes\Controller->makeFileContents(…) | ~/modules/system/Traits/ViewMaker.php | 109
49 | Backend\Classes\Controller->makeView(…) | ~/modules/backend/Classes/Controller.php | 419
48 | Backend\Classes\Controller->execPageAction(…) | ~/modules/backend/Classes/Controller.php | 296
47 | Backend\Classes\Controller->run(…) | ~/modules/backend/Classes/BackendController.php | 165
46 | Backend\Classes\BackendController->run(…) | |
45 | call_user_func_array(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Controller.php | 54
44 | Illuminate\Routing\Controller->callAction(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php | 45
43 | Illuminate\Routing\ControllerDispatcher->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 212
42 | Illuminate\Routing\Route->runController() | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 169
41 | Illuminate\Routing\Route->run() | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 658
40 | Illuminate\Routing\Router->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
39 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/modules/backend/Classes/BackendController.php | 68
38 | Backend\Classes\BackendController->Backend\Classes{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 131
37 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
36 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php | 41
35 | Illuminate\Routing\Middleware\SubstituteBindings->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
34 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
33 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php | 49
32 | Illuminate\View\Middleware\ShareErrorsFromSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
31 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
30 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php | 63
29 | Illuminate\Session\Middleware\StartSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
28 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
27 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php | 37
26 | Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
25 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
24 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php | 68
23 | Illuminate\Cookie\Middleware\EncryptCookies->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
22 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
21 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
20 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 660
19 | Illuminate\Routing\Router->runRouteWithinStack(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 635
18 | Illuminate\Routing\Router->runRoute(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 601
17 | Illuminate\Routing\Router->dispatchToRoute(…) | ~/vendor/october/rain/src/Router/CoreRouter.php | 20
16 | October\Rain\Router\CoreRouter->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 176
15 | Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
14 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/plugins/bedard/debugbar/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php | 51
13 | Barryvdh\Debugbar\Middleware\Debugbar->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
12 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
11 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php | 46
10 | Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(…) | ~/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php | 25
9 | October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
8 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
7 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/october/rain/src/Http/Middleware/TrustHosts.php | 46
6 | October\Rain\Http\Middleware\TrustHosts->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
5 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
4 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
3 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 151
2 | Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 116
1 | Illuminate\Foundation\Http\Kernel->handle(…) | ~/index.php
Hy in my sitemap i have page with optional parameters and this is rendered:
http://domain.test/sell/:uniqid?
Should this not be rendered like http://domain.test/sell
Thank you
Hello,
we have a multisite/language cms and when we tick the "enable sitemap" only the "main" page is in the sitemap (without language suffix), not the translated pages with translated urls.
Thank you!
Hello (again),
Would it be possible to upload the favicon using fileupload plugin instead of using media manager ?
The problem we have by using media manager is that the client have access to it too, and we don't want to "polluate" his directory with technical images like favicon, so it would be better to upload it using fileupload widget.
Thank you
Best regards,
Hello,
I've add a custom model to one of plugins that we use on our site.
public function registerStormedModels() { return [ 'Fytinnovations\Careers\Models\Job' => [ 'placement' => 'tabs', ], ]; }
Everything is ok on backend, but cant figure out how to extract (show) the thing that I wrote inside meta TAB (page title and description) like Dynamic meta tags ... Tryed with {{this.page.meta_title}} and {{seoModel.meta_title}}, {{job.seo_options.meta_title}} but nothing show....
|Eddit:
When I put {{job.seo_options.meta_title}} directly in page
{% set job = jobDetails.job %}
<section class="single-page-header" style="background-image: url('{{ 'assets/images/about/rabotodateli.png'|theme }}') !important;">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>{{ this.page.title }}</h1>
</div>
</div>
</div>
</section>
<section class="services" id="services">
<div class="container">
{{job.seo_options.meta_title}}
<p>{% component 'jobDetails' %}</p>
</div> <!-- End container -->
</section> <!-- End section -->
it's show exactly what I type inside META TAB
But when put in Seo Storm it's blank
Could you help me?
Hello,
I have shop category widh several hierarchy level, so, with slug like that /category/:slug?*
In seo storm I define my model, and parameter like that :
Categories are added to the sitemap, but all url have a star at the end :
Is there a solution for this or it's a bug in the module ?
Best regards,
Hi,
is there a way to use blog featured image as og:image?
Hello,
I implemented the SEO fields using registerStormedModels() in my plugin with custom models, works well.
However, the excludeFields feature doesn't seems to work at all, I tried all possible syntax, including the ones you put in your documentation. I always see all the fields.
Can you make it work in the latest version of october and seo storm ? (I'm up to date)
Best regards,
Alex
Hey. I did not find in the documentation how to translate the fields for site localization into other languages. Please let me know if this is possible in this plugin. Thanks
I created a Blog using the Tailor blueprints in October 3. How do I connect this in the Sitemap options for a Blog Post page? What Model Class do I use? Tailor\Models\EntryRecord needs an ::inSection to work...
Hello I've a problem with rainlab.blog
An exception has been thrown during the rendering of a template ("Unable to register extension "Twig\Extension\StringLoaderExtension" >as extensions have already been initialized.").
I've solved by commenting out
// $twig->addExtension($stringLoader);
inside public function templateFromString($template)
When I create a new CMS page, I am able to configure the SEO Storm attributes 1 or 2 times. After that, the attributes no longer get saved.
I change some attributes and click "save", but the attributes do not get saved, and after refreshing the page, the attributes are back to their old values.
I am using October CMS v2.1.15 and Initbiz.SeoStorm v3.0.0 from the Marketplace.
Hello,
Lighthouse return me an error about invalid robots.txt file in a multisite installation.
I have website in 2 languages, using multisite feature of october cms 3.x
https://www.mywebsite.com/fr
https://www.mywebsite.com/en
The robots.txt is accessible in this url :
https://www.mywebsite.com/robots.txt
But I get a 404 error when I consult these urls :
https://www.mywebsite.com/fr/robots.txt
https://www.mywebsite.com/en/robots.txt
I think, in order to make lighthouse happy, that the robots.txt file should be accessible even when using language prefix.
Best regards,
Hi, I am creating a multilingual website, using this great module SEO Storm.
But i'm having trouble to understand how/where to translate the SEO variables for CMS Pages.
There are no language variables in corners as in regular models fields to switch language. I don't know how to process and didn't found some clue in the documentation.
Can you help ? Thanks
Hello, thank you for continuing the project.
I'm having trouble making the Storm SEO plugin work, I removed the Arcane SEO plugin and installed the Storm SEO.
When I configure the page title and description in the Storm SEO Settings it doesn't reflect on the website, I don't see it in the source code and neither in google analytics.
The website has a default layout html file and some other website pages.
this is our SEO Storm Settings configuration
and this is an example of one of our pages, when we fill the input fields with page title, note that in this pages we do not have the
this is our default html page where we have the but we don't have the SEO Storm button, should we type some code here?
Can you please give me some tips on how to resolve this issue?
thank you for your support
After update the component is causing this error
Error: Call to a member function getFileName() on null in /home/ploi/domain.com/modules/cms/classes/Controller.php:696
when i remove this in the file initbiz\seostorm\components\seo\default.htm the site is working
{% set canonical = include(template_from_string(SELF.getSeoAttribute('canonical_url'))) %}
link rel="canonical" href="{{ SELF.getCanonicalUrl(canonical) }}">
Hello!
Thanks for great plugin.
Is there some built-in way to create custom seoOptions fields, e.g. h1, h2, etc.?
Hi,
i add the seo component to my layout and i have edit the seo fields Title, description and the other fields on the post (meta tab). But I don't see that in the rendered HTML, only the values from post page. If I leave the fields blank on the post page, the meta tag isn't show. It look likes, that the values from the post tab not there. But they are saved correctly in DB. Any Idea?
Hello,
When try to add an OG image that I select from Media it's retrieve in source this
<meta property="og:image" content="/OG_images/inBG_head.png" />
, but it doesn't work . How can I change to full url ? (in other page set og image that previously uploaded with this twig {{ 'assets/images/about/rabotodateli.png'|theme }}
and works like charm.
Hello!
Can you tell me if I can enable sitemap.xml support for multilingual sites? And can they be made separate for each language?
I tried but the map is only built for one default language!
Hy the meta property="og:url" is not working for models, the slug is missing in the url.
It is returning default and not the slug:
meta property="og:url" content="http://domain.test/product/default"
Model parameters is: slug:slug
Sitemap is working correctly
thanks
Hy,
please add daily to Changing frequency.
https://www.sitemaps.org/protocol.html#changefreqdef
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.