Jump to content

FWR Media

  • Content count

  • Joined

  • Last visited

  • Days Won


Reputation Activity

  1. Like
    FWR Media got a reaction from radhavallabh in KissMT Dynamic SEO Meta Tags   
    KissMT Dynamic SEO Meta Tags
    Compatibility: PHP5.2+
    Like everything else in SEO meta tags have shrunk in importance (except the title which is still very important), however we all except that we still need them. There are many meta/header tag contributions available so why another one?
    I have always used cDynamic meta tags which is now very old, the contributions out there are either too simplistic or far too complicated (The KISS part of the name is from the well known saying "Keep It Simple Stupid!") so I felt there is room for one which is extremely simple to install on a new or modded shop and which doesn't overcomplicate what is after all a relatively simple thing, but .. which will auto generate meaningful meta tags output.
    Like everything I produce I try to keep installation simple and where possible changes to core osCommerce files to a minimum, this is no exception. Other than changing: -

    <title><?php echo TITLE; ?></title>
    To ..

    <?php include_once DIR_WS_MODULES . 'kiss_meta_tags/kiss_meta_tags.php'; ?>
    in the catalog files; there are no changes to osCommerce AT ALL. Installation can therefore be measured in minutes or even seconds and no conflicts guaranteed. (other meta tag contributions may have already changed the <title></title> but this is the only possible conflict). There is also no database install.
    Ease of use and dynamic ability:
    Some people don't want or have the time to intricately set up each osCommerce page, KissMT does it dynamically. Every single catalog file where you swap out the <title></title> for the KissMT code will produce meta tags automatically with no input from you.
    Different handling for certain pages:
    Obviously some pages require more attention by KissMT than others .. the prime examples are index.php (which handles categories, category product listings, manufacturers listings, and product_info.php which handles the all important products.
    For these types of pages KissMT has modules, simply put if there is a file in "modules" with the same name as the page being loaded then KissMT will use these files to generate the meta tags.
    I'll give just two examples here from the stock osCommerce RC2a install:
    1) category: www.mysite.com/index.php?cPath=3_10
    Action - DVD Movies
    Action, DVD Movies. The Replacement Killers,The Matrix,Under Siege,Under Siege 2 - Dark Territory,Fire Down Below,Die Hard With A Vengeance,Lethal Weapon,Speed,Speed 2 Cruise Control.
    Keywords: action,dvd,movies,replacement,killers,matrix,siege,dark,territory,fire,die,hard,vengeance,lethal,weapon,speed,cruise,control
    2) Product: www.mysite.com/product_info.php?cPath=3_10&products_id=4
    The Replacement Killers - DVD-RPMK - Action - DVD Movies - by Microsoft
    The Replacement Killers, DVD-RPMK, Action, DVD Movies, by Microsoft. Regional Code 2 Japan, Europe, Middle East, South Africa . Languages English, Deutsch. Subtitles English, Deutsch, Spanish. Audio Dolby Surround 5.1. Picture Format 16 9 Wide-Screen. Length approx 80 minutes. Other Interactive Menus, Chapter Selection, Subtitles more languages ..
    Pages that have modules:
    index.php, product_info.php, specials.php, new_products.php. Modules can be added e.g. for information pages, articles, newsletters, faq desk etc.
    Other pages that will just use HEADING_TITLE or the filename:
    conditions.php, privacy.php, advanced_search.php, advanced_search_result.php etc. etc.
    Multi language:
    Multi language capable as standard. The "stop words" (words to remove from the keywords .. like "a" "of" "the" etc.) are language specific so there would be e.g. stopwords for English and perhaps German and Spanish and so on to ensure the keywords are unpolluted by irrelevant stop words.
    Queries - efficiency and shop size:
    I have chosen for KissMT to run a query instead of using the values already loaded by osCommerce, the reasoning behind this is simply that to do this any other way would have meant multiple changes to osCommerce files which I was keen to avoid. When a page loads for the first time KissMT will run the relevant query to gain its values, but after this the values are cached. Therefore once all pages have been loaded KissMT uses no queries whatsoever it just has to load a 1kb/2kb file .. very fast .. very efficient. Even the largest of shops won't notice it is there.
    Future development:
    I intend the contribution to be in two distinct parts:
    1) As above, a ridiculously easy to install dynamic system which can be installed standalone, without any of the below.
    2) Optional additons which will require file changes, these will be likely to include: -

    The ability to specifically set the meta info for pages via admin.
    Additions of category text/manufacturers text which could/would override the dynamic tags.
    Admin settings

    What I will not be adding:
    I will not be adding any seo tools like keyword density etc. It is my opinion that if you are serious about your seo then you should be using the plethora of specifically designed seo analysis tools that are available on the web. Most of these are far more capable and complex than anything that could be incorporated into a meta tag contribution. You should know if the words in your title tag appear on your page and whether your key words are in <h1> <h2> tags on the page and not just in divs or tds. The 2) options would allow users to specifically set tags if required.
    Fancy helping by testing?
    The dynamic system is in the beta test phase, if anyone would like/is willing to beta test this then please post here and I will send you the initial package when it is ready (next few days).
    When people beta test it helps me greatly in producing a more solid initial offering .. one tester i.e. me is just not good enough.
    I would also appreciate any comments here about the concept and what you feel should or shouldn't be included.
  2. Like
    FWR Media got a reaction from Raj Bhardwaj in Ultimate SEO URLs - remove cpath and need directory structured SEO URLs   
    the osCsid and cPath are two entirely seperate issues.
    To remove the cPath querystring got to admin>SEO URLs>Add category parent to begining of URLs?
    And set to false
    The osCsid must be attached to the querystring on first visit to maintain a session state, after the first one or two clicks it should disappear, if it doesn't then you have issues with your includes/configure.php file.
  3. Like
    FWR Media got a reaction from dr_lucas in ULTIMATE Seo Urls 5 - by FWR Media   
    Well spotted!
    I can't believe this hasn't been picked up before.
    That is indeed a typo, a carry over from the old USU5.
    Everyone should change this code.
    Thanks for the report Manniman.
  4. Like
    FWR Media got a reaction from albertoturin in ULTIMATE Seo Urls 5 - by FWR Media   
    ULTIMATE Seo Urls 5
    by FWR Media
    New - Modern - More Efficient - Faster - Compatible - Less Queries
    Author: Robert Fisher - www.fwrmedia.co.uk
    Thanks to the beta testers:
    Tom Hodges-Hoyland, Jan Zonjee, toyicebear, GLCustoms
    Server: *nix or Windows/IIS
    PHP requirements:
    Version: 5.2.0+ (actually 5.1.3+ I believe at time of launch)
    SPL (Standard PHP Library)
    Traditional Rewrite URIs require:
    *nix server (Windows/IIS does not have mod_rewrite)
    mod_rewrite (as part of the apache build)
    AllowOveride All (php.ini setting)
    MySQL 5 (Strict Trans Tables)
    Traditional rewrite uris (*nix) produce exactly the same uris as the old 2 series (assuming the same settings)
    The above means that should you upgrade from 2 series you don't have to worry about changed links
    Installation difficulty:
    There are only eight small changes to just seven files so this is easy and quick. (2 minute "drop on top" install for devs/testers)
    Simple database installer.
    Upgrade from old series 2 seo urls:
    Upgrade instructions included.
    Removal script for old database entries.
    Simple database installer.
    Works on Windows/IIS (BETA at time of launch due to lack of extensive testing)
    Two seo uri choices .. standard and rewrite .. Windows/IIS can only use standard
    error free - error_reporting(E_ALL | E_STRICT)
    Modular design
    Plug in modules for contributions
    Simple database installer
    Inbuilt uri validation
    301 redirects
    Custom 404 Page not found
    Zero queries or database use after cache fully loaded
    Cache saving is sequential rather than one big DB hit
    Admin selectable debug output
    File (array) based character conversion (BETA at time of launch)
    Simple cache life in admin based on "cache days"
    Extensive security measures to safeguard the querystring
    Series 2 database removal tool
    Ability to switch between uri types via admin without changing any code as below:
    On: standard seo uris - rewrite seo uris
    Off: standard osC uris - experimental search engine safe uris
    Included Modules:
    Popup image
    Included contribution modules (ALPHA at time of release as untested):
    Information Pages
    Articles, Article Info
    Newsdesk Index, Newsdesk Info, Newsdesk Reviews Info, Newsdesk Reviews Article
    Features Removed (from old 2 series):
    Page cache compatibility - the original author suggests that this should not be installed.
    The contribution can be found at: -
  5. Like
    FWR Media got a reaction from Moxamint in Product listing   
    Well .. thank you .. don't often get that :)
  6. Like
    FWR Media got a reaction from Demitry in [contribution] KISS FileSafe ( file security )   
    Don't talk rubbish!
  7. Like
    FWR Media got a reaction from Demitry in [contribution] KISS FileSafe ( file security )   
    Firstly this contribution does not change your root .htaccess ( or any .htaccess although it has a few in the module directory ), secondly it redirects nothing.
    Accusing contributions of adding "infected" files is a serious business, before making such accusations please try to have a clue what you are talking about.
  8. Like
    FWR Media got a reaction from Casper_o in ULTIMATE Seo Urls 5 - by FWR Media   
    Hi Ashley
    Please try the attached file and post back here how it handles your issue.
    This replacement file intends to handle an issue where an old/changed cPath would not 301 redirect to the new version.
  9. Like
    FWR Media got a reaction from jackhill in KissMT Dynamic SEO Meta & Canonical Header Tags   
    KissMT Dynamic SEO Meta & Canonical Header Tags
    powerful seo meta tags & canonical elements in just 5 minutes.
    Oscommerce MS2.2, RC (all versions)
    PHP 5.2+/5.3+ ( PHP 4 NOT supported )
    MySQL 4/5
    Credits: ( thanks to all the beta testers without whom the initial KissMT release could never have been so solid )
    Special thanks to:
    Tom aka tomh/perfectpassion, Graeme aka knott, ken aka ken44, James aka jwilkins
    Thanks also to:
    Wim aka Mister_dj, Onno aka Onnootje, John aka berkedam, Fabian aka proimage,
    Daniel aka Morpheus1979, Marie aka mariemeh.
    We recommend the use of Ultimate Seo Urls 5/5 Pro as the perfect Seo Url addition to this contribution.
    Header tags seo and other meta tag contributions:
    Want to try this out but leave your existing meta tags contribution in place? Do the safe 2 minute test! ( documentation/2_minute_test.html )

    Fast 5 minute install ( easy for beginners and experienced )
    Dynamically generated meaningful meta tags with no complexity.
    No core osCommerce file changes ( except replacing the <title></title> in the catalog files ).
    Updates and upgrades with no core osCommerce file changes ( just replace the module directory ).
    Compatible with highly modified sites. ( due to "no core osCommerce file changes" )
    Modern Canonical elements, as recommended by Mat Cutts of Google, protecting you against indexed sessions ( osCsid ) and duplicate content.
    Automated Meta titles intelligently built (to your specified length)
    Automated keyword generation with stopwords removed. (multi language capable)
    Automated description generation.
    Automated meta title capitalisation excluding small words (multi language capable)
    Highly efficient system using 2 queries maximum and none after cache load. ( so ideal even for the biggest shops )
    Modern PHP 5.2/5.3 code
    Error free with no deprecated code ( even on high error reporting E_ALL | E_STRICT )
    Perfect for small and large shops ( due to efficiency )
    No complex manual "fiddling" required. ( works out of the box )
    HTML/XHTML output. ( easy to validate )
    Performance output for testing & development ( or just to exemplify efficiency )

    Extra features: ( requires additional install )

    Admin based settings ( database install )
    SEO Category content. Text content for every category page. ( also used in meta tags )
    SEO Manufacturers content. Text content for every manufacturers page. ( also used in meta tags )
    H1 tagged SEO automatic page titles. ( to your specified length )

  10. Like
    FWR Media got a reaction from Snarg in ULTIMATE Seo Urls 5 - by FWR Media   
    Yes this contrib works to latest version of osC and PHP.
    Note: If you can't find a proposed code change then it no longer matters ( ignore it ) I haven't yet upgraded the "changes" instructions but some are really not important to correct operation on newer versions of osC.
  11. Like
    FWR Media got a reaction from cclayton in ULTIMATE SEO URLs avoid google penalties   
    New version:
    Should work with all versions of ultimate seo urls (Using -c- -m- etc)
    Corrects bad links and 301 redirects to good link. (Good practice as Google will update its index acordingly)
    Now 404 redirects to index.php if the page no longer exists (e.g. a deleted category or product etc.).
    Less code in application_top.php (Moves some to includes/functions/general.php as a tep function)
    ### instructions ###
    Find ...

    // Ultimate SEO URLs v2.1 include_once(DIR_WS_CLASSES . 'seo.class.php'); if ( !is_object($seo_urls) ){ $seo_urls = new SEO_URL($languages_id); }
    Add immediately below: -

    ################################################ // fwrmedia.co.uk mod to check SEO link validity if ( is_object($seo_urls) && strpos($_SERVER['REQUEST_URI'], '.html') ) { // SEO URLS is active and there is .html in the querystring tep_validate_seo_urls(); } ################################################ // END fwrmedia.co.uk mod to check SEO link validity
    Add immediately above the final closing ?> at the bottom of the file

    function tep_validate_seo_urls() { global $validate_array, $HTTP_GET_VARS; ################################################ // fwrmedia.co.uk mod to check SEO link validity $seo_request = preg_replace("/([&]|)osCsid=.{32}/", "", $_SERVER['REQUEST_URI']); // Lose the osCsid $added_uri = strstr ( $seo_request, '?' ); // any extras in the querystring? like page=x&sort=y (split_page_results) ( strpos($_SERVER['REQUEST_URI'], '-p-') ? ($querytype = 'filename_product_info-products_id=' . $HTTP_GET_VARS['products_id']) : ( strpos($_SERVER['REQUEST_URI'], '-c-') ? ($querytype = 'filename_default-cPath=' . $HTTP_GET_VARS['cPath']) : ( strpos($_SERVER['REQUEST_URI'], '-m-') ? ($querytype = 'filename_default-manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id']) : ( strpos($_SERVER['REQUEST_URI'], '-pi-') ? ($querytype = 'filename_popup_image-pID=' . $HTTP_GET_VARS['pID']) : ( strpos($_SERVER['REQUEST_URI'], '-t-') ? ($querytype = 'filename_articles-tPath=' . $HTTP_GET_VARS['pID']) : ( strpos($_SERVER['REQUEST_URI'], '-a-') ? ($querytype = 'filename_article_info-articles_id=' . $HTTP_GET_VARS['articles_id']) : ( strpos($_SERVER['REQUEST_URI'], '-pr-') ? ($querytype = 'filename_product_reviews-products_id=' . $HTTP_GET_VARS['products_id']) : ( strpos($_SERVER['REQUEST_URI'], '-pri-') ? ($querytype = 'filename_product_reviews_info-products_id=' . $HTTP_GET_VARS['products_id']) : ( strpos($_SERVER['REQUEST_URI'], '-prw-') ? ($querytype = 'filename_product_reviews_write-products_id=' . $HTTP_GET_VARS['products_id']) : ( strpos($_SERVER['REQUEST_URI'], '-i-') ? ($querytype = 'filename_information-info_id=' . $HTTP_GET_VARS['info_id']) : false ))))))))) ); $validate_array = explode('-', $querytype); $linkreturned = tep_href_link(constant(strtoupper($validate_array[0])), $validate_array[1]) . $added_uri; // Get seo.class.php to make us a brand new url $linktest = str_replace(HTTP_SERVER . '/', '', $linkreturned); // Pair the url down to the querystring if (strpos($linktest, '-') === 0) { // If the link returned by seo.class.php has no text mysite.com/-c-xxx.html $dohome = HTTP_SERVER; // It means that the page no longer exists (assuming the class is working) header("HTTP/1.0 404 Not Found"); // Set header 404 Not Found header("Location: $dohome"); // .. 404 redirect to index.php .. and never come back!!! exit; } if ( HTTP_SERVER . $_SERVER['REQUEST_URI'] != $linkreturned ) { // Link looks bad so 301 header("HTTP/1.0 301 Moved Permanently"); // redirect to the good version header("Location: $linkreturned"); // 301 redirect exit; } ################################################ // END fwrmedia.co.uk mod to check SEO link validity }
    All done.
  12. Like
    FWR Media got a reaction from Diegosa in ULTIMATE Seo Urls 5 - by FWR Media   
    The script does not limit the URI text to 64 characters.
  13. Like
    FWR Media got a reaction from Diegosa in ULTIMATE Seo Urls 5 - by FWR Media   
    Yes USU5 PRO is compatible with osC 2.3.3 and with PHP to current versions ( 5.4.6 atm )
    Some of the install instructions for minor file changes may be hard to find but they are not strictly necessary, all you need to do is: -
    Upload the new files.
    Then apply the following stages of the install..
    4) catalog/includes/functions/html_output.php
    5) catalog/includes/application_top.php
    7) catalog/ADMIN/categories.php
    8) catalog/ADMIN/includes/functions/general.php
    Then read documentation/install_files/install_complete.htm and add the relevant changes to .htaccess if you intend to use the rewrite method.
  14. Like
    FWR Media got a reaction from cramli in KissER Error Handling & Debugging [contribution]   
    Use the latest but add clear:both as you did before ( the osCommerce template doesn't clear its floats ) .. no idea why you can't get screen output .. must be a template/css thing local to your site code.
  15. Like
    FWR Media got a reaction from mongoled in ULTIMATE Seo Urls 5 - by FWR Media   
    Or if you want to hack it you can change to the following in application_top.php to make up for the bad codeing of the site: -
    ->setVar( 'filename', strtolower( $PHP_SELF ) )
  16. Like
    FWR Media got a reaction from Juto in [contribution] Security Pro - Querystring protection against hackers.   
    Yes I see.
    I can't see that code any more in product_info.php ( 2.3.3 ) but if it does exist in your code then it should be changed.
    same for the redirect code.
  17. Like
    FWR Media got a reaction from ErikMM in KissMT Dynamic SEO Meta & Canonical Header Tags   
    Hi Erik
    Glad the upgrade was easy for you .. KISS by name KISS by nature :)
    Not sure what was going on in my mind with the name change and I understand it would have created confusion.
    Well it's great that the stock system offers meta tags and canonical elements now but it doesn't .. yet .. match the functionality of KissMT.
    Once 2.4 is more "obvious in its nature" I will probably modify KissMT to add to the osCommerce module system as opposed to replace it. Or I may even push a mod through GIT to see if it can become a part of the core system .. god forbid :)
  18. Like
    FWR Media got a reaction from Juto in KissER Error Handling & Debugging [contribution]   
    That doesn't make sense, also line 183 is the end of the method not the line you are saying .. the file sounds modified.
    Also 8192 errors!!!! perhaps it didn't go as well as you think.
  19. Like
    FWR Media got a reaction from kevinhuynh in Ultimate Seo Urls 5 Pro   
    You would need to modify the files in: -
    you would also need to modify the RewriteRules in .htaccess.
  20. Like
    FWR Media got a reaction from multimixer in Desperate for help - Checkout Problems   
    Whoever did the customisation caused this .. get them back to fix it .. free of charge of course.
    To my mind this is just the world gone mad!
    Human beings prefer a little info at a time .. that is the proven formula and probably why osCommerce is designed as it is.
    One page checkout is a large page full of info to fill out .. history made us change to small snippets and one page checkout just beggars the lessons of history.
    Ajax snippets on a single page are fine, but this doesn't change the fact that it is "in fact" several pages as before but loads quicker.
  21. Like
    FWR Media got a reaction from burt in Header Tags SEO   
    It's not a matter of "playing well together" which suggests an incompatibility in USU5.
    USU5 works fine the problem is that the header tags code breaks whenever a path based URI is used.
    Whether it is USU5 like:
    or the standard osCommerce path based URIs like:
    I can't believe after all this time that people are STILL thinking it is an issue of compatibility with USU5 .. IT ISN'T!
    Either Jack will fix header tags so that it will work properly with valid URLs .. or if you use header tags you simply can't have path based URIs .. period.
    To clarify further .. yes you can use USU5 with header tags BUT you can't use all of its functionality due to this problem.
  22. Like
    FWR Media got a reaction from caravansplus in ULTIMATE Seo Urls 5 - by FWR Media   
    Sorry I didn't reply to your personal contact, caught me a bit busy.
    If the URLs are being generated fine then it is one of a few things.
    1) .htaccess settings ( although I wouldn't expect a redirect loop from here )
    2) Admin settings - turn off the option to redirect index.php to root domain.
    3) Your includes/configure.php settings are incorrect.
    4) You are using path_standard and AcceptPathInfo is not set to On ( this can go in .htaccess )
    5) You have a very strnge server set up that I've never come across :)
    Is it a linux server?
  23. Like
    FWR Media got a reaction from 32 Degrees in ULTIMATE Seo Urls 5 - by FWR Media   
    You need to look at catalog/includes/modules/ultimate_seo_urls5/page_modules/product_reviews.php
    Change the query to extract the manufacturers name
    Create code or a method to order the link_text array to manufacturer - product_name before it is passed into $this->linktext() near the bottom. E.g. the product_info.php module has Product_Info_Page_Module::linkTextOrder().
    If you do this however you must also create permanent 301 redirects from the old uri to the new.
  24. Like
    FWR Media got a reaction from Moxamint in Product listing   
    Well .. thank you .. don't often get that :)
  25. Like
    FWR Media got a reaction from clippers in KissMT Dynamic SEO Meta & Canonical Header Tags   
    Bug Update
    Who it affects: -
    Any payment system file or other file not in root that calls template_top.php
    Thanks for the catch Ausgirl
    The package has been updated locally but no new package has been uploaded to osCommerce addons as yet.
    Code changes are below: -
    Find ( line 88 ) ..

    Replace with ...

    if ( $this->module instanceof KissMT_Modules ) { $this->module->process(); }
    Find ( line 141 ) ..

    trigger_error( 'KissMT could not find a valid base filename, please inform the developer.', E_USER_WARNING );
    Replace with ..

    return (((strlen(ini_get('cgi.fix_pathinfo')) > 0) && ((bool)ini_get('cgi.fix_pathinfo') == false)) || !isset($HTTP_SERVER_VARS['SCRIPT_NAME'])) ? basename($HTTP_SERVER_VARS['PHP_SELF']) : basename($HTTP_SERVER_VARS['SCRIPT_NAME']);

    Find ( line 184 ) ..

    private function loadModules() {

    Replace with ..

    private function loadModules() { if ( !tep_not_null( $this->basename ) ) { return false; }