clickstorm / cs_seo Goto Github PK
View Code? Open in Web Editor NEW[clickstorm] SEO
License: Other
[clickstorm] SEO
License: Other
Hi
the evaluation doesn't works, it spin for a while and then it says
"No results. Press update."
How can I debug it?
Is it compatible with fluid_styled_content and fluidcontent, fluidpages, flux, vhs?
Thanks
It would be great if there could be a setting to set own doktypes to enable the Evaluation on them. Actually the evaluation is only enabled on default TYPO3 Pages with Doktype 1.
We are using cs_seo 1.8.5 with realurl 2.1.5 in TYPO3 8.5.1 and created a domain record at root page, but the domain is missing in preview and sitemap:
Our typoscript:
plugin.tx_csseo.sitemap {
pages {
rootPid = 1
languageUids = 0
}
}
lib.currentUrl.typolink.additionalParams.wrap =
Ext.-Config is also basic.tsConfigPid = 1
We are using config.absRefPrefix = /
and no baseURL
.
What could be wrong?
In HeaderData::getAllLanguagesFromItem control fields should be taken from the TCA ctrl section instead of being hardcoded.
This is a problem when extending own tables with a different field name for the l10n_parent (sys_language_uid) field.
https://docs.typo3.org/typo3cms/TCAReference/Reference/Ctrl/Index.html#languagefield
https://docs.typo3.org/typo3cms/TCAReference/Reference/Ctrl/Index.html#transorigpointerfield
https://docs.typo3.org/typo3cms/extensions/cs_seo/Administrator/Installation/Index.html
- Include the TypoScript from the extension! This is shown in the screenshot below. Include optionally "Sitemap.xml for news" if you use tx_news.
The function to evaluate a page creates an error in TYPO3 8.5.1:
TYPO3 8 uses jQuery 3 ( https://forge.typo3.org/issues/77249 ). With jQuery 3 there is no "success" anymore ( https://jquery.com/upgrade-guide/3.0/#breaking-change-special-case-deferred-methods-removed-from-jquery-ajax ), replacing it in jquery.cs_seo.evaluation.js with "done" resolves the issue. CsSeoController.js seems to be also affected.
My goal is to differentiate the behaviour like:
the default page is indexable, while the translated is not.
That could be the case when the editor is preparing a translated page and doesn't like to let google index the translated page before it's ready.
Now if the default page is indexable than the related translated page(s) are too. which is maybe true or not.
I was wondering if is possible to add tx_csseo_no_index also to the pages_language_overlay and relative scripts.
What do you think?
Great work on this, thank you.
Feature to be able to set global Facebook og:image and Twitter card to fall back on if one isn't selected in the page.
Hello again,
keywords are not implemented for extended models but exists in the inline element.
Best regards,
Christian Forgács
Hello again,
the RealURL configuration integration in this extension since the last update prevents the default realurl_autoconf.php generation because RealURL check before generating the config array in $GLOBALS
from RealURL and don't generate it when already an configuration is set:
Your code: https://github.com/clickstorm/cs_seo/blob/master/ext_localconf.php#L29
Condition in RealURL extension: https://github.com/dmitryd/typo3-realurl/blob/development/Classes/Configuration/ConfigurationReader.php#L289
To add your own RealURL configuration use the RealURL hook in ext_localconf.php
:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'][$_EXTKEY] = 'path_to_hook_class::Namespace/HookClassname->methodName'
Please fix it 😅 If I find time on this weekend I create a pull request. But when not I recommend to fix this issue asap.
Best regards 🎉
TYPO3 7.6.9
Incompatible extension found!
The following extensions are not compatible. Please uninstall them and try again.
Uninstall cs_seo
cs_seo Version: 1.4.1
I get database errors in TYPO3 8.6.1 while having the field in override file and upon removing the field, the error disappears.
As the field doesn't exist in ext_tables.sql for the overlay table, and either it must be removed from the TCA override or be added to the ext_tables.sql in order to avoid errors.
If records on a sitemap contain records where the language ist set to [ALL] the following error is thrown and no sitemap is created:
#1482160086: RealURL could not process "/index.php?id=31&tx_my_ext[obj]=571&L=-1" because "L" parameter is invalid. More information can be found in the web server error log.
This is the case for realurl 2.1.9 and seem to be based on a change in reaurl handling unknown L parameters.
Maybe it can be fixed by changing the handling of L parameter <1 in Clickstorm\csSeo\UserFunc\Sitemap (Line 132)
thx & br
Michi
Hi
in the evaluators i see values into the code like
if($count > 0 && $count < 7) { $state = self::STATE_GREEN; } elseif ($count > 6) { $state = self::STATE_YELLOW; }
(from H2Evaluator)
I think it could be useful to move that 7 and 6 outside in a constant, maybe in the ext_conf_template.txt, so if we want to use another value we don't have to change the code.
for what i know the h2 limit it's not written in stone.
what do you think?
the same in other evaluators, for example:
return $this->evaluateLength($title, 40, 57);
(from the title evaluator)
Ok maybe this is a bit more "written in stone" :)
Thanks
Option to set Summary to Large Image
Would love to enable/disable the evaluation module by editor/editor group.
We had mixed feedback regarding the module itself and some editors felt overwhelmed by it.
Typo3 version : 6.2.25
Hi, after including the cs_seo static template, I still get this error when I try to access the page settings :
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/typopro/fadq/typo3conf/ext/cs_seo/Classes/UserFunc/PreviewWizard.php on line 81
Also, if I try to access other modules like the Extension Manager, the Log or the Install Tool, I get the following error :
Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /var/www/typopro/fadq/typo3conf/ext/cs_seo/Classes/UserFunc/HeaderData.php on line 47
I am experiencing a conflict with nc_staticfilecache 3.6.0 installed (realurl disabled, just to make sure).
When logged into the backend everything seems fine. The [userFunc = Clickstorm\CsSeo\UserFunc\HeaderData::checkSeoGP()]
returns the news table and then goes to page.headerData.654.userFunc = Clickstorm\CsSeo\UserFunc\HeaderData->getMetaTags
.
But when not logged in the [userFunc = Clickstorm\CsSeo\UserFunc\HeaderData::checkSeoGP()]
doesn't return the news table and then goes to config.titleTagFunction = Clickstorm\CsSeo\UserFunc\PageTitle->render
. There the $page
doesn't have a 'tx_csseo_title
and therefore uses the regular 'title'
e.g. "Details".
P.S.: Using TYPO3 7.6.16
Currently only 0 is accepted as return code, however in TYPO3 8 (I don't know about version 7) the error attribute can be the actual HTTP response code - and if so, 200 should be allowed.
Otherwise it isn't possible to generate page reports.
I'll create a pull request shortly for review
To support the most hopeful extension for a Typo3 blog function, it would be helpful to integrate the "cs_seo" settings for the new "blog" extension from the core team (Typo3 GmbH).
On the page properties SEO tab, to add a field where you enter your focus keyword for the page. This has a count that confirms the keyword/phrase has appeared in the Title, Description and page content.
Hi,
I just installed cs_seo on a TYPO3 7.6.9 and as soon as I open up the options of any page I get a fatal error:
Fatal error: Call to a member function stdWrap() on string in /Applications/MAMP/htdocs/typo3_gny/www/typo3conf/ext/cs_seo/Classes/Utility/TSFEUtility.php on line 88
I inserted a var_dump in the getPageTitleSeparator
function and got an empty string back from $GLOBALS['TSFE']->cObj
. What could be the problem here?
Edit: I used the published TER version 1.1.0, not the development branch.
Thanks in advance.
Hi,
when I extend existing models and this model is used in a no cached action, your typoscript works only on the first execution on this page.
If you have e.g. a product detail page, you have only the first opened product seo tags in the cache. When I change in your setup.txt the line 74 into USER_INT, it works find for me and for the other pages too without this or other extensions.
I am looking forward to your feedback.
Best regards,
Christian Forgács
It seems that there is an error in the https://docs.typo3.org/typo3cms/extensions/cs_seo/Developer/OverrideTypoScript/Index.html#override-typoscript config,
for the page.headerData.tx_csseo shouldn't it be page.headerData.654 instead as in
https://github.com/clickstorm/cs_seo/blob/master/Configuration/TypoScript/Setup/meta.ts
Best,
Daniel
Would you mind to ask to the TYPO3 team to add this extension to translation server. I want to translate it to spanish.
https://forge.typo3.org/issues/80136
I did it already but I think that the request should come from the owner
Thanks
As a developer I would like to be able to introduce new doktypes that are rendered in the frontend, thus being indexable.
As the pageCanBeIndexed
method in \Clickstorm\CsSeo\Hook\PageHook
only checks if a page is of doktype 1 (and not hidden), this is currently not possible.
I would suggest that this could be configurable either from the extension manager or in pageTS
In layouts Module.html and ModuleEvaluation.html there are a couple of missing commas, which results in angular.js and Icons.css not being loaded.
I'm going to submit a pull request shortly to fix the issue
The EXT:cs_seo/Resources/Public/JavaScript/jquery.cs_seo.ga.js
in https://github.com/clickstorm/cs_seo/blob/master/Configuration/TypoScript/Setup/tracking.ts line 63 is included although there is no Google Analytics ID defined. It should only be included if there is an ID. It's because the following code checks for an non-existing object.
- 654.if.isTrue < plugin.tx_csseo.googleAnalytics
+ 654.if.isTrue < plugin.tx_csseo.tracking.googleAnalytics
The plugin.tx_csseo.googleAnalytics
doesn't exist, there should be a tracking
added so it results in plugin.tx_csseo.tracking.googleAnalytics
which actually exists.
This is no major issue, I'd just wanted to report it. The TypoScript-Object-Browser is a bit mixed up, too:
P.S.: Just a minor suggestion for the gaOptout()
, how about giving the user some feedback after clicking the link and adding something like alert("Google Analytics was temporarily disabled.");
to the end of the function?
The text for lenght warning of description evaluation should be set like the text in title-lenght evaluation.
It should be "does not have the optimal length." instead of "is too short".
Hi, I'm getting the following error when I'm checking for broken extensions after installing cs_seo 1.4.1 :
Call to a member function exec_SELECTquery() on a non-object in /var/www/typopro/typo3_src-6.2.25/typo3/sysext/backend/Classes/Utility/BackendUtility.php on line 370
First off: thank you very much for this extension :) I'm almost done with my implementation, just one last thing is missing.
I wanted to overwrite the og:type
for news entries with TS like this:
[globalVar = GP:tx_news_pi1|news > 0]
page.headerData.654.30.5.value = <meta property="og:type" content="article" />
[global]
But it doesn't change the news. When I remove the condition and only set page.headerData.654.30.5.value = <meta property="og:type" content="article" />
all pages are using article
, but the news still use website
.
I found $content .= $this->printMetaTag('og:type', 'website', 1);
in line 323 of UserFunc/HelperData.php
and the corresponding TS:
[userFunc = Clickstorm\CsSeo\UserFunc\HeaderData::checkSeoGP()]
config.noPageTitle = 2
page.headerData.654 = USER
page.headerData.654.userFunc = Clickstorm\CsSeo\UserFunc\HeaderData->getMetaTags
[else]
(...)
# stuff like
page.headerData.654.30.5.value = <meta property="og:type" content="website" />
So because of the GP of news it won't go to the else
block and use TS for rendering. Instead if uses PHP which I can't influence. Would it be possible to adjust the extension a bit so we can have <meta property="og:type" content="article" />
for news?
Since 1.5.1 blank site when opening Page Configuration
On my side is the meta description is in the source test. But when I update SEO - Content Analysis, it is not found.
TYPO3 7.6.16
cs_seo 1.8.6 and 2.0.0-dev
No matter how long or not the description is.
It always tells that it is to short.
The description should optimally be between 150-160 characters.
with TYPO3 7.6.11 and cs_seo installed, checking the reference-index throws this error when BE-Debug is enabled:
caller => 'TYPO3\CMS\Core\Database\DatabaseConnection::exec_SELECTquery' (60 chars)
ERROR => 'Unknown column 't3ver_wsid' in 'field list'' (43 chars)
lastBuiltQuery => 'SELECT uid,t3ver_wsid FROM tx_csseo_domain_model_evaluation WHERE 1=1'
Database compare in install tool is fine, deativating the Ext solves the problem.
tx_news, and other extensions set a own <title> tag in detail page with the News title. It seems that cs_seo overwrite this, an set it back to page title.
Is it possible to bypass this on some pages?
There seams to be a problem with the hreflang.uids constant as it is not being used by the typoscript which is instead using {$plugin.tx_csseo.hreflang.ids} resulting in missing alternate link tags.
Umlauts and other special characters are counted for 2 characters.
In Classes/Evaluation/AbstractLengthEvaluator.php
change line 44: $count = strlen($content);
into: $count = mb_strlen($content, "utf-8");
Hello,
when using cs_seo together with FluidTYPO3 Extension e.g. vhs, flux, fluidcontent, fluidpages
the site root page wont show any created FCEs (Fluidcontent Elements).
All other Subpages are not affected - only rootsite.
Hi
i've seen that you are using the sitetitle from the TS template in your TS code.
is it possible use a locallang label as title suffix/prefix instead the template sitetile?
The sitetitle doesn't work well with translated suffix/prefix.
For that reason i'm used to have it in locallang something like:
title = TEXT title { data = LLL:myext/Resources/Private/Language/locallang.xlf:titleSuffix dataWrap = {page:tx_csseo_title // page:title}| }
Hope you like the idea,
What do you think?
note:
it's not just TS, the title is generated also in Classes/Utility/TSFEUtility.php:144
` /**
* @var string $title
* @var bool $title
*
* @return string
*/
public function getFinalTitle($title, $titleOnly = false) {
if($titleOnly) {
return $title;
}
$siteTitle = $this->getSiteTitle();
$pageTitleFirst = $this->getConfig()['pageTitleFirst'];
$pageTitleSeparator = $this->getPageTitleSeparator();
if($pageTitleFirst) {
$title .= $pageTitleSeparator . $siteTitle;
} else {
$title = $siteTitle . $pageTitleSeparator . $title;
}
return $title;
}`
Thanks
Many thanks for this powerfull extension!!!
After update from 1.5.1 to 1.6.0 the og:url and the canonical is wrong the language parameter /de/ or ?L=0 is added to the Domain but I don't have configure this url.
with or without Domain record this will be happens.
I have no base.url set
SEO Module funktioniert nicht mehr.
cs_seo 1.8.5
PHP7
TYPO3 7.6.15
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to a member function stdWrap() on string | Error thrown in file /var/www/.../typo3conf/ext/cs_seo/Classes/Utility/TSFEUtility.php in line 129. Requested URL: https://.../typo3/index.php?M=web_CsSeoMod1&moduleToken=80da8e71cbcbd303f728a1aa3df0db333eb0a6fb&id=1&
I get a PHP warning while I try to open the page properties.
#1476107295: PHP Warning: file_get_contents(/home/httpd/vhosts/domain.tld/httpdocs/typo3/web/typo3conf/ext/cs_seo/Resources/Private/Templates/PreviewWizard.html): failed to open stream: No such file or directory in /home/httpd/vhosts/domain.tld/httpdocs/typo3/vendor/typo3/cms/typo3/sysext/backend/Classes/Template/DocumentTemplate.php line 1279 (More information)
TYPO3 8.4.1 composer mode
PHP 7.0.11
cs_seo 1.7.0
it seems that the
"dist": {
"url": "https://github.com/clickstorm/cs_seo.git",
"type": "git"
},
part within your https://github.com/clickstorm/cs_seo/blob/master/composer.json#L16 breaks installation with composer.
composer require clickstorm/cs_seo
yields following error:
composer require clickstorm/cs_seo
Using version ^1.5 for clickstorm/cs_seo
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Installation failed, reverting ./composer.json to its original content.
[LogicException]
Downloader "Composer\Downloader\GitDownloader" is a source type downloader and can not be used to download dist
composer validate
shows the following result:
./composer.json is valid for simple usage with composer but has
strict errors that make it unable to be published as a package:
See https://getcomposer.org/doc/04-schema.md for details on the schema
The property dist is not defined and the definition does not allow additional properties
The version field is present, it is recommended to leave it out if the package is published on Packagist.
require.typo3/cms : unbound version constraints (>=6.2.0) should be avoided
after removing the dist part and publishing the package to our internal satis, install worked as expected
Hi,
I just tried to create a shortcut to a page via the list module inside a sysfolder. This sysfolder is inside a parent page that has the cs_seo typoscript added to its template. The extension in general is working as expected.
Although when I try to edit this shortcut after creation I get the following error:
Fatal error: Call to a member function printTitle() on null in /Applications/MAMP/htdocs/typo3_gny/typo3_src/typo3_src-7.6.9/typo3/sysext/frontend/Classes/Page/PageGenerator.php on line 1104
I could successfully reproduce the error on a team member's system (also TYPO3 7.6.9). When I deactivate cs_seo the edit dialogue opens as expected, so it must have something to do with the extension.
Thanks in advance for helping me out or fixing this should it be a bug.
Error Message: Argument 3 passed to TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor::synchronizeTranslationItem() must be of the type integer, null given, called in /var/www/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php on line 195
Reproduce:
The problem is probably some wrong TCA configuration.
Hi,
wouldn't it be nice to be able to set the x-default
for the hreflang?
I already looked into it to implement it, but sadly I'm not fit enough with typoscript to get it working.
I think it would be quite easy to implement in php, so if there is anyone who could to this in typoscript I would be more than happy.
thanks for the great extension! 👍
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.