SEO & Index Tools

SEO & Index Tools [Paid] 1.0.6 Beta 4

No permission to buy ($35.00)

NobleMan

Well-known member
Keep getting ones like this every few minutes now.

Code:
Server error log

    ErrorException: [E_WARNING] Undefined array key "nulumiaDisableMemberTooltipsDisable" src/addons/Nulumia/SeoTools/XF/BbCode/Renderer/Html.php:30

    Generated by: Unknown account Jan 5, 2022 at 6:17 PM

Stack trace

#0 src/addons/Nulumia/SeoTools/XF/BbCode/Renderer/Html.php(30): XF::handlePhpError(2, '[E_WARNING] Und...', '/home/.........', 30)
#1 src/XF/BbCode/Renderer/Html.php(1574): Nulumia\SeoTools\XF\BbCode\Renderer\Html->getRenderedUser('.....', 115)
#2 src/XF/BbCode/Renderer/Html.php(310): XF\BbCode\Renderer\Html->renderTagUser(Array, '115', Array, Array, Object(Nulumia\SeoTools\XF\BbCode\Renderer\Html))
#3 src/XF/BbCode/Traverser.php(63): XF\BbCode\Renderer\Html->renderTag(Array, Array)
#4 src/XF/BbCode/Traverser.php(39): XF\BbCode\Traverser->renderSubTree(Array, Array)
#5 src/XF/BbCode/Traverser.php(22): XF\BbCode\Traverser->renderAst(Array, Object(XF\BbCode\RuleSet), Array)
#6 src/XF/Pub/View/FeedHelper.php(123): XF\BbCode\Traverser->render('Who writes the ...', Object(XF\BbCode\Parser), Object(XF\BbCode\RuleSet), Array)
#7 src/XF/Pub/View/Forum/Rss.php(42): XF\Pub\View\FeedHelper::setupEntryForThread(Object(Laminas\Feed\Writer\Entry), Object(XFMG\XF\Entity\Thread), 'last_post_date')
#8 src/XF/Mvc/Renderer/AbstractRenderer.php(91): XF\Pub\View\Forum\Rss->renderRss()
#9 src/XF/Mvc/Renderer/Xml.php(72): XF\Mvc\Renderer\AbstractRenderer->renderViewObject('XF:Forum\\Rss', '', Array)
#10 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Xml->renderView('XF:Forum\\Rss', '', Array)
#11 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'rss')
#14 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#15 src/XF.php(517): XF\App->run()
#16 index.php(20): XF::runApp('XF\\Pub\\App')
#17 {main}

Request state

array(4) {
  ["url"] => string(30) "/forums/archives.116/index.rss"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 

Nulumia

Well-known member
thanks, the errors are gone. Can you please tell me if you plan to edit alt and title for images?
This slipped in the feature list, but the addon already converts attachment filenames I to readable alt text if there isn't an alt specified. But I'm working on a variable custom filter to set alt text rules on a per content basis, much like the link title tags.
I tried to purchase but your stripe payment just loads and loads.
A few users are reporting this.. investigating the Stripe error.
@Nulumia Is the software only looking for the robots.txt file in the xenforo directory or is it also looking at site root?
It looks in root I'm adding other locations and fallback. The robots scanner is coming in another patch, the first idea here is to check for any important rules which may be interfering with content which had been indexed or noindexed.

It may be a little complicated but I'd like to have this alert if content ad I explained earlier is currently being open for search to detect the noindex status but the nofollow rules would have been preventing it
 

Nulumia

Well-known member
Corrent the OpenGraph field should be a valid image path. You will see the image instantly appear in the live preview if it works. I'm working on a Javascript popup to hint whether the image is valid or not as you enter or after entering.

Also where possible I will be rolling out uploadable OpenGraph images along with the URL field as fast as possible. I know users dont want to be manually uploading OpenGraph images somewhere and entering links, thats too much hassle.
Keep getting ones like this every few minutes now.

Code:
Server error log

    ErrorException: [E_WARNING] Undefined array key "nulumiaDisableMemberTooltipsDisable" src/addons/Nulumia/SeoTools/XF/BbCode/Renderer/Html.php:30

    Generated by: Unknown account Jan 5, 2022 at 6:17 PM

Stack trace

#0 src/addons/Nulumia/SeoTools/XF/BbCode/Renderer/Html.php(30): XF::handlePhpError(2, '[E_WARNING] Und...', '/home/.........', 30)
#1 src/XF/BbCode/Renderer/Html.php(1574): Nulumia\SeoTools\XF\BbCode\Renderer\Html->getRenderedUser('.....', 115)
#2 src/XF/BbCode/Renderer/Html.php(310): XF\BbCode\Renderer\Html->renderTagUser(Array, '115', Array, Array, Object(Nulumia\SeoTools\XF\BbCode\Renderer\Html))
#3 src/XF/BbCode/Traverser.php(63): XF\BbCode\Renderer\Html->renderTag(Array, Array)
#4 src/XF/BbCode/Traverser.php(39): XF\BbCode\Traverser->renderSubTree(Array, Array)
#5 src/XF/BbCode/Traverser.php(22): XF\BbCode\Traverser->renderAst(Array, Object(XF\BbCode\RuleSet), Array)
#6 src/XF/Pub/View/FeedHelper.php(123): XF\BbCode\Traverser->render('Who writes the ...', Object(XF\BbCode\Parser), Object(XF\BbCode\RuleSet), Array)
#7 src/XF/Pub/View/Forum/Rss.php(42): XF\Pub\View\FeedHelper::setupEntryForThread(Object(Laminas\Feed\Writer\Entry), Object(XFMG\XF\Entity\Thread), 'last_post_date')
#8 src/XF/Mvc/Renderer/AbstractRenderer.php(91): XF\Pub\View\Forum\Rss->renderRss()
#9 src/XF/Mvc/Renderer/Xml.php(72): XF\Mvc\Renderer\AbstractRenderer->renderViewObject('XF:Forum\\Rss', '', Array)
#10 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Xml->renderView('XF:Forum\\Rss', '', Array)
#11 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#12 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Rss), Object(XF\Mvc\Reply\View))
#13 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'rss')
#14 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#15 src/XF.php(517): XF\App->run()
#16 index.php(20): XF::runApp('XF\\Pub\\App')
#17 {main}

Request state

array(4) {
  ["url"] => string(30) "/forums/archives.116/index.rss"
  ["referrer"] => bool(false)
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
This is now fixed for the new patch, thank you.

New patch is a few days later than I'd like thanks for the patience everyone.
 

Max Fridman

Well-known member
@Nulumia great product, eventually the costs for renewal will be higher in the future? just to know how much we need in case to increase our addon budget.
 

Elliott

Member
This slipped in the feature list, but the addon already converts attachment filenames I to readable alt text if there isn't an alt specified. But I'm working on a variable custom filter to set alt text rules on a per content basis, much like the link title tags.
What worries me more now is that many of the features don't work in the themehouse styles. In particular my style [TH] IO [TH] UIX
 

cdub

Well-known member
My tag pages like to show up in google search results ALOT.... and they don't seem to have a meta description according to ahrefs.

Will this addon let me add a meta description to the tag pages? Ie:

 

Richieboy67

Active member
This slipped in the feature list, but the addon already converts attachment filenames I to readable alt text if there isn't an alt specified. But I'm working on a variable custom filter to set alt text rules on a per content basis, much like the link title tags.

A few users are reporting this.. investigating the Stripe error.

It looks in root I'm adding other locations and fallback. The robots scanner is coming in another patch, the first idea here is to check for any important rules which may be interfering with content which had been indexed or noindexed.

It may be a little complicated but I'd like to have this alert if content ad I explained earlier is currently being open for search to detect the noindex status but the nofollow rules would have been preventing it
Going to order from your store as soon as you have this fixed unless you want to email me a Paypal invoice. I contacted you through pm. I am anxious to get these addons.

Thanks
 

Elliott

Member
My tag pages like to show up in google search results ALOT.... and they don't seem to have a meta description according to ahrefs.

Will this addon let me add a meta description to the tag pages? Ie:

From experience, I will say that tags generally need to be closed from indexing, these are pages with little-use content, and only worsen the overall assessment of the project.
 

cdub

Well-known member
From experience, I will say that tags generally need to be closed from indexing, these are pages with little-use content, and only worsen the overall assessment of the project.
I mean I would love for other content on my site to show up and not those tag pages that's for sure. For some reason Google loves my tag pages.

My fear is that if I don't index those pages then my site will fall off first page of results and Google won't replace the tag pages with another page from my site.
 

Nulumia

Well-known member
can a tag <title> be also edited, not just a meta og:title tag?
Currently no but this is being worked on. The goal is to have a fully customizable field for titles such as in Yoast SEO on WordPress, where you can enter something like "{title}{separator}{category}{separator}{sitename}"

However I think direct edit of the title tag could be useful as well, so I can implement that.
I meant the description for the option is wrong, the same description shows under the SEO meta description (optional) & OpenGraph image (optional) fields.
Thanks for clarifying
My tag pages like to show up in google search results ALOT.... and they don't seem to have a meta description according to ahrefs.

Will this addon let me add a meta description to the tag pages? Ie:

Currently no, but I will add for the patch after the incoming patch.
From experience, I will say that tags generally need to be closed from indexing, these are pages with little-use content, and only worsen the overall assessment of the project.
I agree with this, and in most cases I always did the same on WordPress unless the tag pages were filled out enough that they served as substantial content. But this is still a tricky aspect as you can run into duplicate content issues.

The thing you want to weigh is internal linking. Archives, latest content lists, tag lists etc, all serve to link to that content. With do follow rules but no index, you can reinforce your internal linking without muddying up your index. I need to implement link title tags on tag pages however to complete this scenario, will try to include in this patch.
 

Robru

Well-known member
Code:
ErrorException: [E_WARNING] get_headers(https://www.caviaforum.nl/robots.txt): Failed to open stream: No route to host src/addons/Nulumia/SeoTools/Service/Recommendation/Preparer.php:141
Code:
Stack trace
#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] get...', 's...', 141)
#1 src/addons/Nulumia/SeoTools/Service/Recommendation/Preparer.php(141): get_headers('https://www.cav...')
#2 src/addons/Nulumia/SeoTools/Service/Recommendation/Preparer.php(115): Nulumia\SeoTools\Service\Recommendation\Preparer->UR_exists('https://www.cav...')
#3 src/addons/Nulumia/SeoTools/Service/Recommendation/Preparer.php(48): Nulumia\SeoTools\Service\Recommendation\Preparer->getRobotsStatus('https://www.cav...')
#4 src/addons/Nulumia/SeoTools/Admin/Controller/Index.php(32): Nulumia\SeoTools\Service\Recommendation\Preparer->getRecommendations()
#5 src/XF/Mvc/Dispatcher.php(352): Nulumia\SeoTools\Admin\Controller\Index->actionIndex(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('Nulumia\\SeoTool...', 'Index', Object(XF\Mvc\RouteMatch), Object(Nulumia\SeoTools\Admin\Controller\Index), NULL)
#7 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Nulumia\SeoTools\Admin\Controller\Index), NULL)
#8 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#10 src/XF.php(517): XF\App->run()
#11 admin.php(13): XF::runApp('XF\\Admin\\App')
#12 {main}
 

Nulumia

Well-known member
That would be amazing. Also if we can edit the image/file name too, would be handy!
This is being worked on very close to a WordPress plugin that does the same thing. But this will be released several patches from now.
Resolved the issue I had (y).

New error:

Code:
ParseError: syntax error, unexpected ',' src/addons/Nulumia/SeoTools/XF/Entity/AbstractNode.php:85

#0 src/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/var/www/vhosts...')
#1 [internal function]: Composer\Autoload\ClassLoader->loadClass('Nulumia\\SeoTool...')
#2 [internal function]: spl_autoload_call('Nulumia\\SeoTool...')
#3 src/XF/Extension.php(174): class_exists('Nulumia\\SeoTool...')
#4 src/XF/Mvc/Entity/Manager.php(55): XF\Extension->extendClass('XF\\Entity\\Abstr...')
#5 src/XF/Mvc/Entity/Manager.php(69): XF\Mvc\Entity\Manager->getEntityClassName('\\XF\\Entity\\Abst...')
#6 src/addons/X0815/ChkTables/ChkTable.php(535): XF\Mvc\Entity\Manager->getEntityStructure('\\XF\\Entity\\Abst...')
#7 src/addons/X0815/ChkTables/ChkTable.php(138): X0815\ChkTables\ChkTable->getEntity('\\XF\\Entity\\Abst...', '/var/www/vhosts...')
#8 src/addons/X0815/ChkTables/ChkTable.php(32): X0815\ChkTables\ChkTable->createUsedTablesAndColumns(Array)
#9 src/addons/X0815/ChkTables/ChkTable.php(260): X0815\ChkTables\ChkTable->loadTableDataSystem()
#10 src/addons/X0815/ChkTables/Job/ScanFiles.php(37): X0815\ChkTables\ChkTable->getLostTablesForFileScan()
#11 src/XF/Job/Manager.php(260): X0815\ChkTables\Job\ScanFiles->run(8)
#12 src/addons/Hampel/JobRunner/XF/Job/Manager.php(87): XF\Job\Manager->runJobInternal(Array, 8)
#13 src/XF/Job/Manager.php(202): Hampel\JobRunner\XF\Job\Manager->runJobInternal(Array, 8)
#14 src/addons/Hampel/JobRunner/XF/Job/Manager.php(80): XF\Job\Manager->runJobEntry(Array, 8)
#15 src/XF/Job/Manager.php(86): Hampel\JobRunner\XF\Job\Manager->runJobEntry(Array, 8)
#16 src/addons/Hampel/JobRunner/XF/Job/Manager.php(24): XF\Job\Manager->runQueue(false, 8)
#17 job.php(43): Hampel\JobRunner\XF\Job\Manager->runQueue(false, 8)
#18 {main}
Fixed in new patch!
Unless I'm missing something, the "No pagination for canonical URLs" feature doesn't work.

With it enabled or disabled, on a multipage thread the canonical looks like this:

Code:
<link rel="canonical" href="http://devhost.local/threads/fortune-is-good.456374/page-2" />
Fixed in new patch
I’m sure most people are aware, but just in case, purely installing an SEO addon us unlikely to increase traffic. It is all down to configuring it correctly. Possibly with quite a lot of testing and trying stuff out.

Nulumia please correct me if I’m wrong about that.

The great thing about this one is that it appears there is some very useful instructions and guide included on doing that. Haven’t yet tried it myself just waiting for some time when I can get down to configuring it
This is exactly right. When the full wiki is launched, it will cover more in depth strategies a out optimization. Right now the most powerful benefit is from adding custom keyword rich titles and descriptions, along with noindexing junk content.
Not sure if anyone else had the below error when editing messages using Siropu's Shoutbox?

Code:
#0 src/addons/Nulumia/SeoTools/XF/BbCode/Renderer/Html.php(30): XF::handlePhpError(8, '[E_NOTICE] Unde...', '/home/nginx/dom...', 30, Array)
#1 src/XF/BbCode/Renderer/Html.php(1574): Nulumia\SeoTools\XF\BbCode\Renderer\Html->getRenderedUser('@CapHunterx', 3442)
#2 src/XF/BbCode/Renderer/Html.php(310): XF\BbCode\Renderer\Html->renderTagUser(Array, '3442', Array, Array, Object(SV\LazyImageLoader\XF\BbCode\Renderer\Html))
#3 src/addons/s9e/MediaSites/XF/BbCode/Renderer/Html.php(14): XF\BbCode\Renderer\Html->renderTag(Array, Array)
#4 src/XF/BbCode/Traverser.php(63): s9e\MediaSites\XF\BbCode\Renderer\Html->renderTag(Array, Array)
#5 src/XF/BbCode/Traverser.php(39): XF\BbCode\Traverser->renderSubTree(Array, Array)
#6 src/XF/BbCode/Traverser.php(22): XF\BbCode\Traverser->renderAst(Array, Object(SV\UserMentionsImprovements\XF\BbCode\RuleSet), Array)
#7 src/XF/SubContainer/BbCode.php(222): XF\BbCode\Traverser->render('[USER=3442]@Cap...', Object(XF\BbCode\Parser), Object(SV\UserMentionsImprovements\XF\BbCode\RuleSet), Array)
#8 src/addons/Siropu/Shoutbox/Pub/Controller/Shoutbox.php(304): XF\SubContainer\BbCode->render('[USER=3442]@Cap...', 'html', 'siropu_shoutbox', Object(Siropu\Shoutbox\Entity\Shout))
#9 src/XF/Mvc/Dispatcher.php(352): Siropu\Shoutbox\Pub\Controller\Shoutbox->actionEdit(Object(XF\Mvc\ParameterBag))
#10 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('Siropu\\Shoutbox...', 'Edit', Object(XF\Mvc\RouteMatch), Object(Siropu\Shoutbox\Pub\Controller\Shoutbox), NULL)
#11 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Siropu\Shoutbox\Pub\Controller\Shoutbox), NULL)
#12 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#13 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#14 src/XF.php(517): XF\App->run()
#15 index.php(20): XF::runApp('XF\\Pub\\App')
#16 {main}

Also, when updating navigation node settings I get

Code:
InvalidArgumentException: Column 'nofollow' is unknown src/XF/Mvc/Entity/Entity.php:605

Stack trace

#0 src/XF/Mvc/Entity/Entity.php(570): XF\Mvc\Entity\Entity->set('nofollow', 0)
#1 src/addons/Nulumia/SeoTools/XF/Admin/Controller/Navigation.php(68): XF\Mvc\Entity\Entity->__set('nofollow', 0)
#2 src/XF/Mvc/FormAction.php(166): Nulumia\SeoTools\XF\Admin\Controller\Navigation->Nulumia\SeoTools\XF\Admin\Controller\{closure}(Object(XF\Mvc\FormAction))
#3 src/XF/Admin/Controller/Navigation.php(129): XF\Mvc\FormAction->run()
#4 src/XF/Mvc/Dispatcher.php(352): XF\Admin\Controller\Navigation->actionSave(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('XF:Navigation', 'Save', Object(XF\Mvc\RouteMatch), Object(Nulumia\SeoTools\XF\Admin\Controller\Navigation), NULL)
#6 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Nulumia\SeoTools\XF\Admin\Controller\Navigation), NULL)
#7 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#9 src/XF.php(517): XF\App->run()
#10 admin.php(13): XF::runApp('XF\\Admin\\App')
#11 {main}
Fix coming in patch after incoming patch.
This issue is not fixed yet:

Its encountered when you activate Noindex resource author pages.
Found this thanks, now in incoming patch.
So if I disabled links to user profiles and excluded members from a sitemap, should I add Disallow: /members/ into robots.txt and request Google to remove mydomian/members/ from the listing?
Yes but I would still noindex member pages just in case search engines ignore the nofollow or robots rules. Then you can submit a URL removal request.

Hey everyone new patch should be out either late tonight or early tomorrow, this is a very large patch and includes almost all reports here, along with improvements for Bob's addons such as AMS.

I will also be posting a case study on how I used this addon to increase traffic at a client site, so feel free to check it out. Will leave a link here when it's posted.
 

benFF

Active member
Thinking about the "No pagination for canonical URLs" setting, is this actually useful?

Won't it stop the indexing of multi-page threads? On a technical discussion thread, a lot of useful info can be found in pages 2+
 

Anatoliy

Well-known member
Yes but I would still noindex member pages just in case search engines ignore the nofollow or robots rules. Then you can submit a URL removal request.
I really like your approach of removing useless links from thread pages. What about removing links from dates at the top of each post? I guess it really messes up keyword focus of pages.
 

Richieboy67

Active member
I am still waiting to buy this. Stripe isn't working. I don't use PayPal. My PayPal account was permanently limited years ago.

Can you please either fix this issue or send me an invoice. You can send one through PayPal and then I'll be able to pay without a PayPal account.

Thanks
 
Top