SEO Smart Links


Support SEO Smart Links by buying the Premium version!  SEO Smart Links Premium is faster, with bug fixes and over 20 new features. What is new?

SEO Smart Links can automatically link keywords and phrases in your posts and comments with corresponding posts, pages, categories and tags on your blog.

Further SEO Smart links allows you to set up your own keywords and set of matching URLs.

Finally SEO Smart links allows you to set nofollow attribute and open links in new window.

Everything happens completely transparent, and you can edit the options from the administration settings panel.

How it Works?

SEO Smart Links looks for keyword phrases that match the titles of your posts and pages by default (and you can enable categories and tags matching too). These phrases are then turned into the links. The matching is case insensitive and the original case is preserved.

So If I mention Amazing Grace, which is my theme and also the title of one of my pages, it will be automatically converted into a link.

Everything happens completely transparent, and you can edit the options from the administration settings panel.

 SEO Smart Links

Features:

  • Find keywords in your posts, pages and comments and link them to your other posts, pages, categories and tags
  • Full control with customizable options
  • Ignore list for keywords you do not want to link
  • Improves your site's interlinking
  • Control external links with custom keywords
  • Add nofollw attribute or open links in new window
  • Caching for speed - make sure you have define('ENABLE_CACHE', true); set in your wp-config.php

Download

dl SEO Smart Links

donate SEO Smart Links

Installation & Usage

  1. Upload the whole plugin folder to your /wp-content/plugins/ folder.
  2. Go to the Plugins page and activate the plugin.
  3. Use the Options page to change your options
  4. That is all. You can check your posts for new links.

Frequently Asked Questions

You can discuss all plugin related issues in the wordpress related forums.

How do I correctly use this plugin?

Just install activate it on your blog. SEO Smart links will be default find matching links to your post and pages (if the keyword in your text matches their title).

Default options are enough to get you going. If you want to tweak it, you can always edit the options. Be sure to check "ignore" options where you can state what keywords and phrases not to link.

How do I enable SEO Smart Links cache?

Make sure you have enabled WordPress cache by adding this line to your wp-config.php

define('ENABLE_CACHE', true);

Please be careful when editing this file and always make a backup!

Changelog

v2.1
- Performance optimization and new option to link to cats and tags with used at least n times (thanks Domink Deobald!)

v2.0

- Added the option for case sensitive matching

v1.9
- Various improvements and bug fixes

v1.8.0
- Added support for non-english characters (Unicode)
- Added support for keyword synonyms (in keywords section of the settings screen)

v1.7
- Performance optimization of the plugin. SEO Smart Links causes much lesser strain on the server.

v1.6
- Added option to process only single posts and pages

v1.5
- Added nofollow and new window options

v1.4
- Added option for custom keywrods. No you can specify unlimited numbers of your keywords and url's to link to

v1.3:
- Enabled caching for speeding queries up.

v1.2:
- Added limits options
- Fixed small bugs

Credits

  1. A chap called Paolo Faustino translated the plugin to Portugese
  2. Thanks to Chris from http://www.munchweb.com

You can also visit my other WordPress Plugins.

Need help with  WordPress SEO? Feel free to contact me.

Comments:

709 Comments

  1. Namaless
    Jun 17th, 2010

    Hi, when upgrade your plugin to use with WordPress 3.0 Custom Taxonomies?

    Thanks, great Plugin :)

    • Stijn
      Jun 22nd, 2010

      Indeed. If Vladimir can add this to the next version, I most certainly will donate some money through PayPal.

  2. Steve Biodrowski
    Jun 13th, 2010

    This is a very useful plug-in that I have installed on two websites, but it does seem to have a problem: it does not like to link to posts whose titles contain any characters other than letters. Parenthesis, dashes, colons - use any of these in the headline, and Smart Links will not link to the post. Thus, it will link to an article about ALIEN, but not to an article about ALIEN: RESURRECTION.

    Strangely, Smart Links will link to tag pages that contain some of these characters - but not all. It will link to a tag for ALIEN: RESURRECTION but not to a tag for ALIEN: RESURRECTION (1997). The colon is not a problem for a tag link, but the parenthesis are.

    • Jun 14th, 2010

      Can you send me more examples directly (use the contact form)?

  3. Excell
    Jun 12th, 2010

    Ouch! My bad. The previous codes were auto-converted into links.

  4. Excell
    Jun 12th, 2010

    I'm sorry for the mess, please delete the previous comments.

    Is there a place to add styling tags into the link codes? for example, I want to customize the link by adding "style="text-decoration:none"", something likewordpress

    Thank you.

  5. Excell
    Jun 12th, 2010

    I mean like this code wordpress. (Changed some codes to avoid autolinking).

    Thank you.

  6. Excell
    Jun 12th, 2010

    Thanks Vladimir for the great job!

    Is there a place to add styling tags into the link codes? for example, I want to customize the link by adding "style="text-decoration:none"", something like this wordpress.

    • Jun 14th, 2010

      This is a good idea, I will work on this for the new version.

  7. Eric Mertzlufft
    Jun 10th, 2010

    Vladmir!

    Great plugin, but any chance this can be modified so that any text that is already linking (within an tag) is not interupted by the plugin?

    You are already able to make the plugin not interrupt tags, so I figure you could use that same logic so as not to interrupt a tags as well. At least, I'm hoping...

  8. Robert-vt
    Jun 10th, 2010

    I really like the plugin, but this is kinda annoying.

    I have unchecked "Allow links to self," but posts still link to themselves nonetheless.

    What can I do to stop this??

    • Jun 14th, 2010

      Hi Robert

      Please send a concrete example.

  9. Cynthia
    Jun 9th, 2010

    Okay... trying this again.... The plugin is breaking pre-existing links that I have in the page. I frequently have links out to other sources and the SEO plugin is creating links within my existing A hrefs thereby breaking them. This is a nightmare for us. Is there anyway to keep it from linking to words and phrases within existing links? Seems like it should be a simple code to tell it to ignore A hrefs and Img src links. Help please.....

  10. Chris
    Jun 7th, 2010

    Hi Vladimir,

    I have installed this plug-in to WordPress 2.9.2, but I don't have an options menu. All I have are "Deactivate" and "Edit," then two links to your site. Is it hiding somewhere?

    Thanks!
    Chris

    • Jun 7th, 2010

      It would be under Settings in your wp-admin

  11. Juandy
    Jun 6th, 2010

    Hi Vladimir, thanks for supplying the community with your Amazing Plugins... :)

    I really appreciate it. I use your SEO-Smart-Links since 2009 and it works great.

    The only concern I have is When I have A Category say " Toyota" and then I have a link of "2000 Toyota Camry Mirror, Buy here.."

    The Plugin will break the link into two links. One is link to Toyota Category ("Toyota) and the other is "2000" which is my original link.

    I added three lines of code inside function SEOLinks_process_text($text, $mode) :

    First...

    $text = preg_replace('%()(.*?)()%sie', "'\\1'.insertspecialchars('\\2').'\\3'", $text);

    I placed below :
    $arrignore=$this->explode_trim(",", ($options['ignore']));

    above:
    if ($options['excludeheading'] == "on") {
    //Here insert special characters
    $text = preg_replace('%()(.*?)()%sie', "'\\1'.insertspecialchars('\\2').'\\3'", $text);
    }

    Second and third line of code are....

    $text = preg_replace('%()(.*?)()%sie', "'\\1'.removespecialchars('\\2').'\\3'", $text);
    $text = stripslashes($text);

    I placed them right before the last line of code in function SEOLinks_process_text($text, $mode):

    return trim( $text );

    And it worked as I expect. The plugin doesn't break the links anymore... Will you consider to add the codes in future updates...

    It's just a humble suggestion, so I won't need to edit the code everytime new update is available :)

    Thanks....

  12. Cynthia
    Jun 5th, 2010

    I love the plugin except that I'm having the same problem as other people listed. Your plugin links to words that are already inside a link. Is there any chance that you can add an exception so that it ignores any words that are already inside an (a href ) or (img src)? It's messing up some of our links, but I hate to get rid of the plugin if we can fix this.
    Thanks so much!

  13. Don Gilbert
    Jun 3rd, 2010

    Possible Suggestion for Improvment

    Vladimir, I was working with a new template today, getting it ready for my site, and I noticed an error occurred with my site when I used your plugin. Basically, I have the word "Local SEO" as one of my category titles, and SEO Smart links automatically makes it a link to that category every time it shows up. However, it even processed the words "Local SEO" when it was already inside of a link element.

    I had it set up like this.
    [a class="learnmore" href="/some-page"][span]Local SEO[/span][/a]

    and SEO Smart Links made it go like this.
    [a href="/some-page"][span][/span][/a]
    [a href="/category/local-seo"]Local SEO[/a]

    Is this a bug or expected behavior? I would think it would ignore the text if it was already within an [a] element.

  14. Fabrizio
    Jun 3rd, 2010

    PS: in my comment where I explain my fix, I wrote something like
    i.e.: "Smart{blank}{blank}Grids"
    which became
    i.e.: "SmartGrids"
    probably because I used unallowed symbols.

  15. Fabrizio
    Jun 3rd, 2010

    I am not sure whether I wasn't clear, but I didn't have double/triple spaces in my titles. For some odd reason the plugin thinks so, but I checked it many times and no double spaces there!
    So I figured the best way was to get the plugin to filter those extra spaces.
    Just a question: I found there is a new version available, have you added my mod or it's not in the code? Just asking because I don't want to upgrade and have the plugin broken again! :)

  16. Kalian
    Jun 2nd, 2010

    Vladimir, good plugin, but it doesn't work with russian words. Can you fix it?

    • Jun 14th, 2010

      Hi Kalian

      Cna you send more details about it?

  17. Caldenni
    Jun 2nd, 2010

    Hi,
    I have a problem with seo smart links and I was hoping that you can help me with it... I've asked several friends but they have no idea how to do it.
    I wanted to make links on posts to be no-follow (success), but I need links on certain page in my blog to stay do-follow.
    can you help me with this? thank you... (if you can send me an email that'd be great :) )
    Best Regards

    Denni

  18. William Maddler
    May 30th, 2010

    Any clue on how to disable autolinking for text enclosed in

    ? My code excerpts are being messed up.

    Thank you.

  19. Jared Detroit
    May 30th, 2010

    Vladimir,

    Thank you for the great product. It's been working great but I found one issue with the "prevent link indexing in heading tags" option. When this option is selected, I notice that quotes in my title tags are escaped. I've only noticed this in heading tags with classes that I've entered into the body of a page.

    An example is that I enter in Testimonials into a page and it ends up as:

    Testimonials

    If I uncheck the "prevent link indexing of heading tags", the quotes show up correctly.

  20. Stealth
    May 30th, 2010

    Indeed a great plugin. For me works fine, except the fact that all the \ characters are invisible . I found out that after the plugin is activated, I have to double the backslash for it to appear in my posts ( "\" = "" and "\\" = "\"). If anyone knows how to solve this issue, that'd be awesome.
    Thanks!

    • Jun 14th, 2010

      This will be fixed in one of the upcoming releases.

  21. Anthony
    May 29th, 2010

    Vlad,

    Is there a possibility of making this plugin do its thing only on future posts?

    • May 30th, 2010

      Could you explain better how would that work?

  22. steven
    May 28th, 2010

    Thanks Vladimir I (like many others) initially installed seo smart links without fully understanding the power of the plugin with the basic tweaks. Needless to say I think I had several good seo pieces in place but when I utilized your plugin ...A definitive climb in search both google and Very much so yahoo. Regards and Thanks for the fine work. I want to look into Blue Grace when I get some time.
    Cheers from Glamrockmusic

  23. Karl zu Ortenburg
    May 25th, 2010

    any ETA for a release date of the new version? ;-)

  24. Karl zu Ortenburg
    May 25th, 2010

    Hi Vladimir,

    Jonathan Dingman told me about your SEO Smart Links plugin.

    Sounds like a great plugin, and I have the same question as 'Chad':
    (http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links#comments)

    "Would it be possible to add an option for posts to link only within their respective categories? ..."

    Chad is right, that for maximum SEO benefit, the links need to be created within a particular category to make sure they don't destroy the 'Silo Structure' of the blog. In SEO terms, only links within the same category or to the 'top level' page of another category are 'allowed'.

    kind regards,
    Karl zu Ortenburg
    http://internet-experts-live.com

    • May 25th, 2010

      Yep it's something I am working for the next generation of SEO Smart Links.

  25. Fabrizio
    May 24th, 2010

    I found the problem... don't want to be rude, but I would have expected some more support... but there's thousands of users for this plugin, so I will post my solution just in case someone can benefit from it.

    I found that for some odd reason, the variable $post->post_title contained duplicate blank spaces. I think an Example will explain better: if a post contains more than one word like in my case: "Smart Grids" (i.e.: "SmartGrids") it will become "Smart Grids" (i.e.: "SmartGrids").

    As I mentioned in a previous comment, the problem become apparent when we perform the test at line 190 not far below the comment "// posts and pages":
    if ($strpos_fnc($text, $postitem->post_title) !== false)

    this will return false because it cannot find the wrong post title "SmartGrids" into my text that contains "SmartGrids".

    The solution is simple:

    Just before the test add a string replace for replacing "" with "":
    $posttitle = str_replace(' ',' ',$postitem->post_title);

    And then replace the next 2 occurrences of $postitem->post_title with $posttitle (the 2 occurrences are in line 190 and 191).
    (NOTE: it's possibly wise to change the str_replace with a preg_replace to replace any number of spaces with a single one)

    Hope this helps, now the plugin seem to work flawlessly for me, if I find any bugs I will post them here.

    • May 24th, 2010

      Thanks for your contribution Fabrizio, but the correct way would be to edit and remove the double (or triple...) spacing from post titles as they probably do not belong there in the first place.

Have your say

Your email is never published nor shared. Required fields are marked *

*
*

Subscribe without commenting

About

vladimir prelovac Vladimir Prelovac is CEO of Prelovac Media, a computer engineer by profession and an adventurer by state of mind. more +


"I would love to change the world, I just don't have the source code yet."

Services

Manage multiple WordPress sites

Built for WordPress enthusiasts, ManageWP helps you manage all your WordPress sites from one central location.

Books

WordPress Plugin Devleopment Book Read my book WordPress Plugin Development: Beginner's Guide

Published by Packt Publishing, available online through Amazon.