piedweb / linksimprover
Increase your search rankings by improve your internal linking.
Installs: 15 167
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: ^7.4|^8.0
- league/csv: ^9.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^9.3
- vimeo/psalm: ^3.11
README
Links Improver
Improve the navigability of a website by improving your internal linking ... so Increase your search rankings (SEO).
You are not a developper and want a ready product like a wordpress plugin, see Link Whisper (af link).
Description
From a list (raw or file) with this format :
url,kws[separate by
,
and can use wildcard (*
)],force (default 0),counter
(force and counter are facultatives)
The code analyse a content to extrat existing links and word count.
Then, from our list, it adds links to text from one kws suggested if :
- the kw is in the text (for sure) (en vérifiant que le précédent tag est un <p.*>),
- the link does not exist yet
- the number of link is not exceeded a number (eg: 10 links in the content) or a ratio (eg: 1 link for 50 words)
Then update link counter
If you edit a second content, I advice you to reOrder
the link list to permit link rotation (the just created links
will go at the end of the list respecting their force
value if it's set).
Support this package
By speaking about and link piedweb.com
on your website.
Usage
Installation
composer require piedweb/linksimprover
Example
include 'vendor/autoload.php'; use Piedweb\LinksImprover\LinksManager; use Piedweb\LinksImprover\LinksImprover; $content = '<p>My blog post content where I want to add few links to other page to get better pos on google.</p>'; $base = 'https://piedweb.com'; // my blog // Get your page you want increment the list and on wich kw $linksList = 'url,kws,force,counter https://piedweb.com/,"Pied Web,Robin from Pied Web" https://google.com/,"Google,google.com"'; $linksManager = LinksManager::load($linksList, $base); $linksImprover = new LinksImprover($content); $newContent = $linksImprover->improve($linksManager, 1 / 20, 'style=color:black'); // 1 link every 20 words max, it's huge :) echo $newContent; // Then reorder link list before submit a new content $linksManager->reOrder();
Will return
<p> My blog post content where I want to add few links to other page to get better pos on <a href="https://google.com" style="color:black">google</a>. </p>
Other method
// Go further /** * @param array */ $linksImprover->setTagsInsideLinkCouldBeAdded(LinksImprover::TAGS_EXTENDED); // Per default, the links could be added in p, strong, b, em, i and span. // Extenged tags add div and h[2-6] // You can suggest an array // Reporting $linksImprover->getAddedLinksCount(); $linksImprover->getAddedLinks(); $linksImprover->getExistingLinks(); class:LinksImproverBBCode // Same api and search and replace for [url=*][/url]
Warning (and benefit)
It don't compare link with or without host. So you can use it to link external website...
but be careful to ManageLinks with host and having a proper content (link without host).
Testing
composer test
Credits
- Robin from Pied Web
- All Contributors
License
The MIT License (MIT). Please see License File for more information.