Glossify Internal Links Auto SEO

rsvelko - October 29, 2008 - 15:05
Segments.at Home Page

What it does

This module generates internal node links (crosslinks) automatically - ideal for SEO of your site's pages.

It is currently node-based - looks for node titles in node bodies and makes them inbound links (= internal links ~= node links) . There are plans to extend it to taxonomy terms, too.

Author

The new 2.0 version is thanks to segments.at - Austria. You can contact us for help/advice or paid customizations.

If you like what we do and we made your life better - you can buy us a beer (TODO: beer link to come :) ).

TODO: Upload a segments video screencast with a brief showcase.

Features

- SEO - This module autolinks your site's content pages to one another - wonderful for SEO automation. Thus you can boost the Google PR of one page from PR-s of another pages.

- FAST - HTML parsing is fast the 1st time and cache-able after that - imagine you had 500 nodes with terms and the current node has 400 plaintext html chunks to loop over searching for terms - that's 200 000 PHP-foreach iterations! Version 2.0 does this extremely fast the first time (in about 0.1-0.2 secs on a average modern server) and even faster if the page is cached by Drupal's mysql cache.

- SMART - There is a plan for an option to save replaced links permanently in the nodes. (TODO)

- SAFE - no html tags mangling - Since v2.0 - the module uses the simplehtmldom PHP library ) via the simplehtmldom API Drupal module (a new requirement of Glossify ).

This ensures that html is parsed safely=correctly in hook_nodeapi, $op=alter.
- no replacement is done in the html tags themselves (a bug in Glossify v.1.x which did a simple preg_replace on the whole html text)
- only in the plaintext within the html is parsed for links/terms
- all a-tags' plaintext is ignored - you cannot create a-tag within another a-tag
- when doing a preg_replace (with every plaintext chunks as an input) - the term-node's title is preg_quote-ed

- FLEXIBLE - Nodes2nodes
From the admin UI you can select which node types will be :
- containing glossary term definitions
- contain the terms in their body
(these types can overlap)

- TODO - a tag is planned

- Page-term bondage display styles
Glossify currently allows three different modes of display (bondage types):
- Titles are linked to their nodes. Clicking a link takes you to that node.
- Titles are displayed as a hovertip. This requires the hovertip module.
A themeable "Terms referenced" block is displayed below the main content (by default, as a definition list).

- Other settings/features
- a setting to parse teasers too
- does not link a node to itself
- a setting to link only first occurance of a node's title

INSTALL

- Version 2.x - require http://drupal.org/project/simplehtmldom to parse the DOM tree.
- Download, enable and setup at admin/settings/glossify.

Version 2.0 alpha released!

The whole module has been rewrote by the new maintainer rsvelko on the 27th of August, 2009.

Roadmap

- possibly implement it as an input filter - to be researched
- add an markup tag or similar
- add a node_save() feature
- decide what to do with overlapping terms - SEO and "SEO Tools" for example... (currently it is unclear what exactly happens in the code...)
- test multilingual support

As compared to Glossary (taxonomy term-based) and G2 Glossary ( node-based, no auto-linking, just a filter-tag, usage ~20) modules:
- it is SIMPLER - in features/settings and in code length - the important part is about 200 lines of code
- it is AUTO linking
- it has a different use-case - to solve the auto linking problem and serve as a save html parser - rather than to build a site glossary so much.

People involved

  • This module is maintained and sponsored by the team of Segments.at - your drupal partner - version 2.0.

    Version 1.0 of this module was sponsored by the LepTree project.

  • Releases

    Official releasesDateSizeLinksStatus
    6.x-2.0-alpha12009-Aug-2910.2 KBRecommended for 6.xThis is currently the recommended release for 6.x.
    5.x-1.12008-Nov-059.66 KBRecommended for 5.xThis is currently the recommended release for 5.x.


     
     

    Drupal is a registered trademark of Dries Buytaert.