My problem is the generated adress /category/product not working I have to use it with /shop/category/product.
Printable View
My problem is the generated adress /category/product not working I have to use it with /shop/category/product.
Hello,
I've installed the CEON URI MAPPING module and everything is working fine in IE6 and Firefox, but there are some issues in IE8. Categories and images in categories are displayed ok, but when I go to subcategories images and stylesheet is not loaded.
I think the problem is that Zen Cart tries to load pictures from shopname.com/categoriename/images instead of shopname.com/images. When uri mapping module is off, everything comes back to normal. Is there a way to fix this? I could not find a thread about IE8 issues in the forum :(
Live examples (no spaces between domain name letters needed):
a n o n a . lt/verslo_dovanos - working categorie
a n o n a . lt/verslo_dovanos/puodeliai - not working subcategorie
a n o n a . lt/index.php?main_page=index&cPath=107_116 - working subcategorie when uri mapping is turned off.
This occurs when links to images are page-relative, not the required server-relative or absolute. Server relative is preferred (to avoid HTTP/HTTPS issues inherent with absolute linking).
It is the browser that resolves image location. Relative locations are relative to the folder level of the currently viewed HTML page. Server relative links with a leading slash are best.
Hi,
That's because there are no browser issues with the module!
Your problem is that you are trying to use relative paths for your images/stylesheets.
You cannot use relative paths with static URIs!
You must change the path to your stylesheets and images to be the full path, starting with a slash (/).
Or you can set the "base href" for your site.
Hope that helps.
All the best...
Conor
ceon
Conor, g1smd,
thank you very much for the quick reply! I've managed to fix it :yes:
Hi I am using the Ceon URI mapping module v 3.2.2 on my Zen Cart site (1.3.8a).
The site is at http://www.heatpumps4pools.com
The problem I have is that the navigation on the site often stops working.
This happens at random times throughout the day.
When the problem occurs, a random page from my site is displayed regardless of which link is clicked on.
The browser address bar correctly shows the URL of the link that has been clicked on, however the page displayed is a completely different page.
When this happens, clicking on any of the site's links still displays the same random page.
I have found that sometimes pressing F5 or refreshing the page repeatedly will then display the correct page, but sometimes it will not.
This is also being reported by customers and is losing me business so any help would be appreciated ! It happens with IE and Firefox.
After a few minutes the site seems to work ok again.
My hosting company says that the likely cause is the URL SEO mapping module.
Any advice on how to fix this would be much appreciated.
Regards
David
Hi,
The module does not return random results.
I have seen this behaviour on a site before. The problem was the database server on the host not being in sync (they used some sort of "cloud" server).
You are also using an old version of the module.. you should always upgrade to the latest version of a module if you are having trouble!
The new 3.4.0 will be out later today so you should upgrade to that today.. I'll post back here when it has been released.
Unfortunately though, my gut feeling is that even after installing the latest version things will remain the same. In which case you'll have no choice but to pay someone to find and fix your server issues.
All the best...
Conor
ceon
Hello Conor,
How are you?
Recently, I found a problem of Ceon URI Mapping, Today I check my site on google webmaster, and it displayed on google that, there are lots of repeated meta title, meta description, I think the possible cause is theat the ?cPath=, but I have use Ceon to rewite it, but I don't know why it is still there.
could you tell me the possible cause is? Thank you very much
Regards,
Alan
URLs with multiple question marks are not valid in the HTTP specs.
There's certainly some sort of coding error somewhere if there are links with URLs like that somewhere in your system.
I'd run Xenu LinkSleuth over your site to see if you can spot where links with those URLs are being generated.
Hi,
Were you able to upload/finish the new CEON SEO?
If so, where can I find it? Been looking forward to it since 1.3.9 came out. :clap:
Hi,
It gives me great pleasure to announce the release of Ceon URI Mapping 3.4.0!
This is a fairly major update with some nice new functionality, like Canonical URIs and improved language handling for Zen Cart, as well as several important bug fixes and sample files for Zen Cart 1.3.9b.
ALL USERS MUST UPGRADE! Previous versions are no longer supported.
Upgrading should be easy enough, full instructions are included in the documentation.
There are new rewrite rule examples in the documentation... it is advised that all stores should update their rule to use the new format as shown in the example rules.
From the revision history:
[ADDED] Canonical URI support added! Any page with a static URI will now have a canonical URI tag added to the page's header. This will minimise “duplicate content” reports as it tells the search engines that multiple pages should be treated as one, without actually redirecting the visitor.
The canonical URI hint causes any parameters added to the URI to be ignored, thereby preventing duplicate content reports when Zen Cart adds its session ID (?zenid=xxx) to the URI or when paged, sorted or filtered results listings add their parameters (e.g. if a page had a ?sort=2a parameter) etc.
[ADDED] Module now tracks whether or not the user has just selected a different language. If so, then instead of simply appending “&language” to the end of the URI, the module will automatically redirect to the specific URI mapping for the page for the newly selected language.
[ADDED] If the URI uses a different language from the session, the session is switched to use the new language. This means that the page will display in the language that the URI is specifically defined for. I.e. if a site has a page in two different languages and each has a translated URI (E.g. /chairs and /chaises), the session language will correctly reflect the URI being displayed in the address bar. This greatly enhances the language handling of Zen Cart!
[ADDED] Support for mapping hard-coded links containing “index.php?main_page=” added. EZ-Page alternative URLs use this format so they are now remapped to the appropriate static URI mappings.
[ADDED] Improved support for IIS ISAPI rewrite module added. URI Mapping module tries to use the original URI the IIS ISAPI rewrite module provides.
[UPDATED] The “cPath” query string parameter is now removed from the URI if the current category is simply the product's master category, as the category path information can be regenerated when the static URI is loaded. Results in neater URIs, and less “duplication” of pages as seen by the search engines.
[UPDATED] main_page query string parameter is no longer part of the main check to see whether or not an attempt should be made to identify and map the URI as some forms using the GET method provide the main_page variable. Main check is now made against the name of the script being loaded (that it doesn't include index.php).
[BUGFIX] Generated links to manufacturers weren't using the URI mapping entered for the manufacturer because of incorrect pattern matching in the zen_href_link function as modified for this module.
[BUGFIX] Typo in code to look up current URI mappings for a product was breaking the product preview info admin page when it was accessed directly from the “Preview” icon in the Categories/Products admin section. All admin/includes/modules/*/preview_info.php files need updating!
[BUGFIX] The product_id query string parameter is no longer removed if it includes attribute information, so that the attributes can be correctly pre-selected when clicking on a product in the shopping cart.
[BUGFIX] Support for arrays (inc multidimensional arrays) in query string added using new Array Query Parameter function.
[UPDATED] Extraneous ampersand character could be left over in the URI when removing used query string parameters from the URI.
[UPDATED] Example rewrite rules updated to support up to 5 characters for file extensions, rather than 4. This fixes the problem of 404 error handling pages with .shtml file extensions being processed by the rewrite rule, which was then causing Zen Cart to run and record the URI that generated the 404 in Zen Cart's “Who's online” database. Paths to missing files on the server will no longer be processed by Zen Cart and so won't show up in the “Who's online” database.
[ADDED] Sample modified core files for Zen Cart 1.3.9a added.
[UPDATED] Improvements to the documentation to make a few things clearer and information easier to find.
What are you waiting for - download 3.4.0 now!
The module will also be available from the downloads area in a few days.
Enjoy!
All the best...
Conor
ceon
You Beauty!
how are you doing?? All good??!!
Works great! Thank!!!!!!
:clap::clap::clap::clap::clap::clap::clap:
Hi all!
I have a strange problem caused by URI mapping.
I have a php file located in the following path of my web site:
htdocs/AJAX/myscript.php
If I switch URI mapping off and type http://myURL.com/AJAX/myscript.php in to my browser address bar, the script executes correctly.
If I switch it on and do the same test, I get a 404 Not Found error.
I've narrowed it down to the following 2 lines in myscript.php:
Can you tell me how I can get this to work with URI mapping enabled please?Code:chdir('../');
include('includes/application_top.php');
Hi Damian,
All the information you need is in the section of the configuration documentation entitled "Ensuring 100% Compatibility with Third Party Zen Cart Modules - Specifying Individual Files to be Excluded from URI Mapping".
All the best..
Conor
ceon
Thanks Connor, that worked a treat :clap:
Hey guys I'm having a problem. with the mod turned on my homepage is displaying page not found and i just cant figure it out. Anyone got any ideas?
http://www.sinfulorigins.com
:wacko:
I am getting the same problem as sinful. I get the Page Not Found screen when typing in the address www.pc-point.co.uk. It works fine if I type "www.pc-point.co.uk/index.php?main_page=index" instead. Also works fine if I disable URI mapping from Admin. I really need to leave it enabled as my products are listed on some price comparison websites, which link to my products using URI address.
I installed URI 3.4.0 when using 1.3.9b, but had to get my hosting company to do a full restore because of this problem, so I am now back down to 1.3.9a. Just installed URI 3.4.0 again on 1.3.9a, and still got the same problem.
Hi,
Just a reminder that now that 3.4.0 is out, free support from Ceon for versions prior to that is over.
If you have any problems with the module please upgrade to 3.4.0 first before posting here or getting in contact with me privately.
Thanks! :)
All the best...
Conor
ceon
Where can one download 3.4.0?
Does not appear to be in the Free Software Add Ons section yet.
Thanks.
Sorry... I see it now a few posts back! Thanks.
Hi,
A new version of Ceon URI Mapping is available for download!
EVERYONE SHOULD UPGRADE!
Upgrading will only take a few minutes if the only module you have which has modified the core files is a previous version Ceon URI Mapping.
Please read the post a few posts back regarding version 3.4.0 to find out what's new in 3.4.0.
3.4.1 is mostly small tweaks to make things work better and faster but unfortunately also includes a bugfix for a fairly serious problem introduced in 3.4.0 - sorry about that!
This release has been thoroughly tested so could hopefully be the last one for years (as it works that well! :) ).
From the Revision History:
[ADDED] Check for link to index page added to link generation function. Saves having to call the database when linking to the index page, resulting in lighter usage of server resources.
[ADDED] Automatic redirection of variants of index page URIs added (index.php, index.php?main_page=index). Instead of having a default URI mapping for the index page, all links to the index page are now handled in code, with all links automatically being redirected to the root of the store (i.e. the value of DIR_WS_CATALOG, e.g. / or /shop).
[UPDATED] All canonical URIs are now absolute URIs. In 3.4.0 they were relative to the site's root, now they are full URIs (they include the http URI scheme and the site's domain name).
[UPDATED] Any previously added mappings for the index page will be automatically made into historical URIs as they are no longer needed.
[UPDATED] New function added so that when Ceon URI Mapping is redirecting to another URI, the query string is rebuilt with any array or multi-dimensional array parameters intact. (Standard Zen Cart function doesn't support passing arrays). To minimise server impact the functions are only loaded if needed.
[UPDATED] Support added for building canonical URIs for pages which are loaded by posting a HTML form which uses the GET method. Filters on product listing pages etc. use a form to build their URIs; previously this would result in each filter creating a new URI without a canonical hint tag. Now all pages always have a canonical tag, regardless of how the URI is built, by populating the canonical URI variable even when the only things that have changed in the URI are the filtering parameters.
[BUGFIX] The default index page mapping added in 3.4.0 meant that any manufacturer product listing page which didn't have a static URI mapping specified/generated redirected to the index page when trying to add a product to the cart directly from the listing, meaning that the add to cart functionality was broken. This redirection no longer takes place, so the add to cart functionality has been restored.
[UPDATED] FAQ added to documentation to point to the information needed to get some third party modules working when Ceon URI Mapping is enabled. Information about what needs to be looked at made clearer and more comprehensive.
Download 3.4.1 now!
It will be uploaded to the downloads area on this site in a few days.. we've a few other module releases ready to go but had to delay them slightly to get a fully working version of URI Mapping out!
Enjoy!
All the best...
Conor
ceon
I can get in just fine.. (both from home and my VERY restrictive work internet access) Conor could not be banned from his own site.. Perhaps you are blocked from the site from your internet connection.. Any message you get to indicate such would seem to point to an issue with your internet access..
Hello Conor,
Very excite to hear that the Ceon URI Mapping has the new edition, and I found some really good function, such as:
1.The “cPath” query string parameter is now removed from the URI if the current category is simply the product's master category
and I check my good webmaster, found that, there are two pages
/Kia-GPS-Navigation/Kia-Borrego-GPS-Navigation
/Kia-GPS-Navigation/Kia-Borrego-GPS-Navigation?cPath=
but this is the signal page, will the 3.4.1 solve this problem?
you can see my picture 1
2.Canonical URI support added! that is very good, but I have one question, currently one my site there are some options to choose by custome, like item name, price, new arrival(see picture 2),
if choose one of them, then it will generate a new site like: http://www.domain.com/Car-GPS-Naviga...&productsort=3
will it solve this problem, and only dierct to http://www.domain.com/Car-GPS-Naviga...GPS-Navigation ?
I will test this new edition and start to use it. Thanks you so much if you would like to answer me.
Alan
Hi Alan,
I'm glad you like the module but why are you posting asking what the new features "will be like"?
Why don't you just install the module?
You've pushed the release announcement back up the thread just to ask me if the features I've listed actually work or do what they say they'll do. :(
To answer your first question, cPath may still get added the odd time but it's much less likely to be added now and the canonical support means that search engines won't see duplicate pages. :)
To answer your second question, yes, the new version has canonical URI support so although the sort parameters will still be added (http://www.domain.com/Car-GPS-Naviga...&productsort=3) the search engines will see a canonical URI without the sort parameters (http://www.domain.com/Car-GPS-Naviga...GPS-Navigation).
TO ALL USERS: PLEASE NOTE THAT SUPPORT FOR VERSIONS 1.0.0-3.4.0 IS NOW OVER. PLEASE DON'T ASK ANY QUESTIONS HERE UNLESS YOU'VE ALREADY UPGRADED TO VERSION 3.4.1.
Thanks!
Thanks DivaVocals for pointing out that the ceon website's working fine. Not sure what you were referring to tiresmokindad.. if you're still having trouble please get in contact with me privately.
All the best...
Conor
ceon
After installation, why always appear 404 error.
http://k3miao.com/Ying-Jian
[QUOTE=conor;883880]Hi Alan,
I'm glad you like the module but why are you posting asking what the new features "will be like"?
Why don't you just install the module?
QUOTE]
Hello Conor,
today, I installed 3.4.1, I just upload the files to overwrite the currently module 3.2.4 I use, Also I use the compare tool like beyond compare to keep my important content,
all are well, when visit the website, and it didn't appear problem,
but when I log in the admin, I found it display
PS: I don't change admin file name, what can I do now. Thank you.Code:1060 Duplicate column name 'excluded_files'
in:
[ ALTER TABLE ceon_uri_mapping_configs ADD `excluded_files` TEXT DEFAULT NULL AFTER `char_str_replacements`;]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.
Alan
Hi Alan,
Oh dear. That's a bug in the auto-upgrade script. It is running the auto-upgrade code for versions 3.2.0-3.2.2 when you are upgrading from 3.2.4!
Sorry about that!
I've released a new version of the module with the bugfix for this.
You can download it now:
Download version 3.4.2
The only files that have changed are
admin/ceon_uri_mapping_auto_upgrade.php
admin/ceon_uri_mapping_config.php
Copy those two files into your store's admin folder and then go to the Ceon URI Mapping Config and this time it will upgrade properly!
All the best...
Conor
ceon
Conor,
Just testing this on a local host on WAMP PHP5.2, ZenCart 1.3.9b with your sage pay form and if I cancel out of the sagepay form from the test server I am not getting back to the site/check out page.
I have just tried it with the URL mapping turned off and still the same problem - this might be a Sagepay form issue rather than the URL Mapping so sorry if I have posted in the wrong section
MikeyG
I need urgent help with this one...
(This problem definitely has something to do with the URI mapping as everything works when its disabled.)
It relates to my product listing pages.
I look at page1 and thats ok. I hover the mouse over the link for page2 and it shows: ?sort=2a&page=2. I click it and it goes to page2 but the link says: ?sort=2apage=2. At this stage I can view page2 ok.
I click on the page3 products page and the link shows: ?sort=2appage=3. It breaks and goes to page1, although it shows the page 3 link at the top of the page.
I haven't made any spelling mistakes here...it changes from "2a&page" to "2apage" to "2appage" .
I am running the latest version 3.4.2
Just looking at my Google Webmaster Tools reports and I also have a long string of 406 errors occurring just after I upgraded to 3.4.0 from 3.2.4.
They all go along the lines of....?alpha_filter_id=76page%3D1page%3D1page%3D1page%3D1page%3D1page%3D1page=1& sort=4d
Would these also be related to the Produst Page problem?
I currently have URI disabled, so as to allow people to keep using the site, but of course this will throw up a lot of errors to the Google search bots. Would it be a good idea to temporarily write redirects to all of my 215 products (and categories) until I sort this? I don't want my ranking to suffer..
Hi,
This really is complicated software! :)
I was just looking at the code and noticed that changes in 3.4.0 to make cleaner URIs would remove an extra ampersand if the main query string parameter for a mapped URI wasn't at the start of a URI.. this can happen if the likes of sort parameters are used but precede the main query string parameter (which only happens in some places and not in others). When I saw your post I knew exactly what could be causing it and upon testing it on our test server found the same thing.
I've released a new version. 3.4.3 with a bug fix for this.
From the revision history:
[BUGFIX] Code introduced in 3.4.0 to remove extra ampersands from the URI was being overzealous and removing an extra ampersand whenever the primary query string parameter for a mapped URI was not at the start of the query string, but was instead preceded by other query parameters. This broke the preceding and following query string parameters as the name of the following parameter was being appended to the preceding parameter's value.
ALL USERS MUST UPGRADE!
Versions 1.0.0 - 3.4.2 are NO LONGER SUPPORTED BY CEON.
The only files that have changed between 3.4.3 and 3.4.2/3.4.1 are
files/admin/ceon_uri_mapping_config.php
modified_core_files/YOUR_ZC_VERSION/includes/functions/html_output.php
(Once you've copied over these files don't forget to go to the configuration in the admin to have the database updated to the latest version).
To upgrade from versions 1.0.0-3.4.0 you will need to follow the upgrade instructions in the documentation.
Sorry about the bug but as I said., these things can be complex sometimes and hard to spot! Glad I did though (and good timing for your bug report too! :) ).
Download version 3.4.3 now!
All the best..
Conor
ceon
Hi Conor, this looks like a great module and Im keen to get it working. :smile:
Just seem to be having an issue. I have a test version of our live store running in a subdirectory (1.3.9b) and Ive tried to install the Ceon URI Mapping (SEO) add-on.
ive carefully gone through and copied all files - including core files from the 1.3.9b folder in your download (3.4.3)
But when i get to step 3 of your instructions about creating the database tables, I click through to; Admin>Modules>Ceon URI Mapping (SEO) - and I simply get a blank page.
If I go to EZ Pages to open a file I get an error about the table not existing.
It appears that the tables are not being created in the database? Is there perhaps a seperate SQL query I can run in phpMyAdmin?
Sorry if im missing something obvious here, but im fairly certain ive followed the instructions properly.
Cheers,
Scott.
Hi Scott,
Glad you like the software!
A blank page means a PHP error. You'll have to enable error reporting/display errors in admin/includes/configure.php to see what you've done wrong.
It sounds like you haven't in fact uploaded all the files. You should reupload them all again.. the most likely cause of the error would be an attempt to load a required file failing (like includes/extra_datafiles/ceon_uri_mapping_config.php) or a function being missing because the functions files haven't been loaded.
Hope that helps!
All the best..
Conor
ceon
Hi Conor, thanks Ill have another look. Im downloading the error logs in the cache folder to see if I can shed some light.
Cheers,
Scott.
Ok.. where's thats "blush" icon..? :blush:
Simple path error in my admin config file.
Sorry to bother you mate, I must say though, your add-on looks REALLY cool and a donation is on the way. :wink:
Hi Scott,
lol.. never quite looked at/knew what that smiley icon was before but how appropriate! :)
Thought it would be something to do with a missing file/inability to load a file. Should have mentioned before that it might have been an incorrect FS_ADMIN setting but that's so rare.. glad you're sorted now anyway!
All the best...
Conor
ceon
Wooops! :blush:
I started a new thread a moment ago when I should have just posted here.... sorry!
Anyway, I am trying to figure out if adding Ceon URI input to Easy Populate imports is possible?
Can database fields for Ceon URI can be added so that Easy Populate can control CeonURI?
For instance, Easy Populate provides a field to make products active or inactive:
v_products_status = 0, 1, or 9
I know that there are methods for adding fields to Easy Pop. I would like to do this with Ceon URI. For instance (what I'd like to do):
v_ceonURI_status = 0 (ceonURI is off)
v_ceonURI_status = 1 (ceonURI is on, automatically assigns SEO url)
v_ceonURI_status = 9 (ceonURI is on, references a manually created url)
And, of course, if v_ceonURI_status = 9, then I would use a different field to add my own URL:
v_ceonURI_manualURL = TEXT FIELD (input would be something like this --- www.MYSTORE.com/product_key_words_here.html)
One extremely cool use for this is to prevent "down time" caused by SE reindexing since I am migrating a site to Zen from CRE. My CRE site uses an SEO url mod and has already achieved spectacular google ranking. Adding the above fields to Easy Pop would allow me to keep all the same old url's when I migrate!
Anyway, can this be done?
If so, what are the fields I can add to Easy Pop to control ceonURI?
Any thoughts would be greatly appreciated!
Hello Conor,
Thank you so much for your help, and now it run OK on my site, and I also upgrade to 3.4.3, but I found some other problems,
1. the banner add function in admin is disappeared, I use the compare tool to keep my original code, the follow is the banner code of categories,
2. further checking, and I found the ?cPath= still added at the end of the page of new arrival, I am confused about that, you can see the problem here http://www.jewellet.com/index.php?ma...&productsort=5Code://TODO insert banner1
if ($_POST['categories_banner1_manual'] != '') {
// add image manually
$categories_banner1_name = $_POST['img_dir_banner1'] . $_POST['categories_banner1_manual'];
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_1_img = '" . $categories_image_name . "'
where categories_id = '" . (int)$categories_id . "'");
} else {
if ($categories_image = new upload('banner1_image')) {
$categories_image->set_destination(DIR_FS_CATALOG_IMAGES . $_POST['img_dir_banner1']);
if ($categories_image->parse() && $categories_image->save()) {
$categories_banner1_name = $_POST['img_dir_banner1'] . $categories_image->filename;
}
if ($categories_image->filename != 'none' && $categories_image->filename != '' && $_POST['image_delete'] != 1) {
// save filename when not set to none and not blank
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_1_img = '" . $categories_banner1_name . "'
where categories_id = '" . (int)$categories_id . "'");
} else {
// remove filename when set to none and not blank
if ($categories_image->filename != '' || $_POST['image_delete'] == 1) {
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_1_img = ''
where categories_id = '" . (int)$categories_id . "'");
}
}
}
}
//TODO insert banner2
if ($_POST['categories_banner2_manual'] != '') {
// add image manually
$categories_banner2_name = $_POST['img_dir_banner2'] . $_POST['categories_banner2_manual'];
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_2_img = '" . $categories_image_name . "'
where categories_id = '" . (int)$categories_id . "'");
} else {
if ($categories_image = new upload('banner2_image')) {
$categories_image->set_destination(DIR_FS_CATALOG_IMAGES . $_POST['img_dir_banner2']);
if ($categories_image->parse() && $categories_image->save()) {
$categories_banner2_name = $_POST['img_dir_banner2'] . $categories_image->filename;
}
if ($categories_image->filename != 'none' && $categories_image->filename != '' && $_POST['image_delete'] != 1) {
// save filename when not set to none and not blank
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_2_img = '" . $categories_banner2_name . "'
where categories_id = '" . (int)$categories_id . "'");
} else {
// remove filename when set to none and not blank
if ($categories_image->filename != '' || $_POST['image_delete'] == 1) {
$db->Execute("update " . TABLE_CATEGORIES . "
set categories_banner_2_img = ''
where categories_id = '" . (int)$categories_id . "'");
}
}
}
}
//TODO
and I found the relative code isCould you help me for the possible cause, Thanks so much!Code:?>
<li>
<div><ul><li class="relative">
<?php if($list_box_contents[$row]['products_quantity'] == 0) { ?>
<span class="sold_out_b"></span>
<?php } ?>
<?php echo $list_box_contents[$row]['product_is_sale_item'].'<a href="' . zen_href_link(zen_get_info_page($list_box_contents[$row]['products_id']), 'cPath=' .zen_get_generated_category_path_rev($_GET['cPath']). '&products_id=' . $list_box_contents[$row]['products_id']) . '" class="ih" >' . zen_image_OLD(DIR_WS_IMAGES .substr_replace($list_box_contents[$row]['products_image'],'l/',0,2), $list_box_contents[$row]['products_name'], 228, 228, 'class=""') . '</a>'?>
</li>
<p>
Alan
Hi Alan,
Sorry I don't know anything about that and can't see anything in your code. Hopefully someone else here can help you with that.
This code is custom code on your site. It is NOT part of the standard Zen Cart installation.
This code is messing up and generating a cPath variable when a category isn't being displayed (and so a cPath isn't needed). URI Mapping can't read minds so it doesn't know what the cPath is doing there so it leaves in it in case it's needed (using the "better safe than sorry" approach).
What you need to do is modify the code you posted and remove the part:
As this is custom code on your site please don't post a followup about this other than to say if it worked or not, as it wouldn't be of use or interest to anyone else on this thread.Code:'cPath=' .zen_get_generated_category_path_rev($_GET['cPath'])
Thanks.
All the best...
Conor
ceon
Hi everyone, I've successfully installed the Ceon mod and just have one thing thats not working; any manufacturer chosen from the dropdown menu is not displaying by the manufacturers name.
It actually just drops this part of the url string; 'index.php' . So what was;
[FONT="Courier New"]
index.php?main_page=index&manufacturers_id=2 [/FONT]before
is now;
[FONT="Courier New"]?main_page=index&manufacturers_id=2[/FONT]
This is not a complaint, just wondering what i might've done wrong? I followed the instructions and "resaved" each manufacturer in the manufacturers list.
Everything else is working great, just need to go through and resve all the products tomorrow.
An example can be seen here; http://www.crushcosmetics.com.au - simply choose a manufacturer from the right-hand dropdown list.
Cheers!
Scott. :cool:
Hi Scott,
Unfortunately the way Zen Cart builds the manufacturers sidebox, it actually links to the index page, so the module maps to the root of the store (in your case '/'). It provides the parameters which make the manufacturers "page" a "page" in hidden form variables passed via a GET. It's therefore impossible for the module to tell the difference between this link and a normal link to the home page..
However, I have made the code smart enough that it outputs a canonical URI for any index page which has a manufacturers_id so that /?main_page=index&manufacturers_id=2 is seen as the same page as /index.php?main_page=index&manufacturers_id=2
I was thinking that instead of having a canonical URI built I could force a redirect to the mapped URI for the manufacturer, but this would mean a double redirect every single time a filter form was submitted or a manufacturer chosen from the manufacturer sidebox.
I think making the canonical URI /index.php?main_page=index&manufacturers_id=2 is a mistake though, I should have made it so that that is the canonical URI only when no specific URI mapping exists (basically an extra SQL lookup would be required but would guarantee the uniqueness of the URI in canonical terms - I should have added this lookup).
Now I'm thinking that maybe a double URI redirect might be the most practical "fix" for this to keep things looking nicer for the customer (even though it would make NO difference at search engine level or in technological terms).
If you look at your site, the links to further pages do use the "expected" mapping: /barry-m, as do the links to the manufacturer from a product page. It's only the two forms which "build" the dynamic URI by "linking" to the index page and adding parameters that have the dynamic-looking URI.
So what do you all think? Would you rather have some code to fix the behaviour of the sidebox and filters or just have a double redirect everytime a form is submitted with the manufacturers_id parameter?
(Obviously for our own site we decided we'd rather "fix" the Zen Cart sidebox and filter forms so that they could work with URI mapping modules rather than have a double redirect everytime but I've a feeling that might be too much hassle for most people rather than simply using a completely automated double redirect.)
All the best...
Conor
ceon
Hi Conor, thanks for taking the time to explain the situation. i think it would be beneficial to have the dropdown 'fixed'. Particularly for sites (like us) that do a promotion on one brand at any given time. E.g; www.sports.com/Nike
I for one would probably prefer the code you used on your site (if you dont mind) rather than having form do the double-submit.
BTW, making a donation today AND I ENCOURAGE ALL OTHERS TO DO THE SAME. This add-on is enourmously beneficial.
Kind Regards,
Scott.
Hi Conor. Thanks for all your great work. You probably know by now but 1.3.9c is out and it looks like 7 or so files have changed... again
Hi,
Yes, isn't that great? :|
I'm working on a new version now.. I'll be adding in some new files to create a "nicer", URI compatible manufacturers sidebox and filter forms as well.
All the best..
Conor
ceon
Hi Scott,
How are you?
I didn't have packageable code written but I came up with a new version of the sidebox yesterday and am just about to add support for modifying the filter forms. I'm also searching the whole Zen Cart codebase to find any other links which link to the homepage without providing the necessary query string parameters, with a view to making them "Static URI compatible" as well.
I'll release a new version of the software once I've got all of that done and documented as well as having new core overrides created for 1.3.9c.
All the best..
Conor
ceon
Hi Conor, Im well thanks. I look forward to your sidebox modification, you're a legend! :wink:
All the best,
Scott.
for those interested..
i have (after lots of swearing) got a 139b site upgraded to a 139c site, complete with the latest CEON URI add-on installed.
all seems to be working with no problems... tried on 3 test sites and one live site
if anyone wants these files i have packaged them into a folder with the correct directory structure. It only contains the 139c files changed from 139b files with Conor's code and is a simple matter of FTPing to the folder where your store is.
let me know and i will ZIP up and post here.. If Conor doesn't mind of course?....
Hello all,
I installed Ceon URI Mapping on my ZC1.3.9c site and all is working well.
But my home page http://www.mysite.com has a blue C in the address bar, and hovering over it reveals this popup text:
"Go to the canonical page at http://www.mysite.com"
Other pages within my site have the grey C, indicating that the canonical page is already loaded.
I don't know if this has anything to do with Ceon URI Mapping, but does anyone know how I can get the main page http://www.mysite.com to be recognized as the canonical page?
http://www.teafromtaiwan.com
Firefox 3.6.3
I don't see any reference to canonical links in IE8
Here's a screen shot of my address bar in FireFox. I don't think I have anything special installed to show it.
The blue C is a clickable link which goes to the canonical link. A grey C means you are already at the canonical link.
I have a few addons, but this was not an intentional addition - I just noticed it after using this CEON module.
Anyway I have the answer and it has nothing to do with Ceon URI Mapping (I think)
My canonical home page is indicated with the canonical tag as:
<link rel="canonical" href="http://www.teafromtaiwan.com" />
i.e. without the trailing back slash. But my home page is defaulting to http://www.teafromtaiwan.com/ with the back slash.
So I just have to figure out where these URI's are being generated and fix one of them.
Installed this add on and it's simply... PERFECT. The quality of this package is unbelievable.
HOWEVER... when I copy the store to a sandbox (that's how I apply add-ons, including this one, to an already working store), all the " SEO friendly" URIs still point to the operational store...
Is there a script or an SQL patch that can fix all URI automatically (or manually without going throuh EDIT for ALL products)?
Thanks,
Chris
Hi Chris,
Glad you like the software and thanks for the nice comments about the overall distribution! :)
Do you mean that you have a "sandbox" store in a subdirectory and that you're moving the store to the root directory want to apply all the URIs you've generated for the "sandboxed" store to the "real" store?
I'm afraid I'm not quite clear on what the exact problem you are having is.
Best weather we've had this year today so taking the weekend off. I'm afraid I may not be able to reply until Monday.. :)
All the best...
Conor
ceon
Hi,
It's definitely the output of an addon. I must look it up and install it myself - thanks for the [roundabout/unintentional] tip! :)
The latest version of Ceon URI Mapping will always output a canonical tag for the home page which is the server's name plus the value for DIR_WS_CATALOG.. without the slash at the end. So if you navigate to the homepage with the slash at the end the canonical URI will differ (the slash at the end being the difference).
This is NOT a problem! :)
However it's always nicer for the URIs to remain consistent. The way to fix this is to change whatever links there are to the home page which are using the slash at the end to links which don't have a slash at the end.
I'll be releasing version 3.6.0 of the module on Monday.. I think the final change I'll make to it is to have Zen Cart output the exact matching canonical URI for the home page anytime it generates links instead of linking to the home page with a slash at the end.
As I said, the current behaviour is not a problem, it's fine for the canonical URI for the home page to have no slash at the end while the actual URI does.. that's the whole pointof canonical URIs after all.. telling the browser that the two URIs are equivalent! So just ignore this for the minute and take some time off! :)
Got to go now.
Enjoy the rest of your weekend!
All the best...
Conor
ceon
No. The canonical URL for the root page of a site should include the trailing slash. That's defined in the HTTP specs.Quote:
The way to fix this is to change whatever links there are to the home page which are using the slash at the end to links which don't have a slash at the end.
To the best of my knowledge there isn't any automated tool to help with that so I solve the problem by doing what @DivaVocals suggested:
- I fire up phpMyAdmin and select the teststore database (left pane).
- Within the teststore database I select the zen_ceon_uri_mappings table
- Then, I select the Export tab, check 'Add DROP TABLE', Save as gzipped file and hit GO.
- I then use Emacs to replace, in one fell swoop, all occurrences of /store/ to /teststore/.
- Then I used gzip to create a .sql.gz file
- Within the teststore database I then select the Import tab
- Load the edited .sql.gz file and...
- Voila!
Does this answer your question? :smile:
Hi,
Actually, I've since realised that that's the only practical solution.. didn't know it was the official spec as well.. glad my thoughts have turned out to line up with those who wrote the specs in the first place! :)
Will have a new release out soon (today or tomorrow).
All the best..
Conor
ceon
Yes, you're obviously aware that asking for http://example.com/somepage.html will cause the browser to send a "GET /somepage.html HTTP/1.1" HTTP request to the server.
In the same way, asking for http://example.com/ will cause the browser to send a "GET / HTTP/1.1" HTTP request to the server; and that means the URL "http://example.com" without the trailing slash included is technically invalid, as the GET request for it would be blank: "GET HTTP/1.1".
In reality, the browser will usually still send the correct "GET / HTTP/1.1" request for this.
However, when the request is for "GET /folder HTTP/1.1" the server will send a 301 redirect response along with a note of the new URL at "http://example.com/folder/" so that the browser can make a new HTTP request for "GET /folder/ HTTP/1.1" with trailing slash included.
Hi,
Ten hours in the making, it gives me great pleasure to announce the release of another new version of Ceon URI Mapping.
All users should upgrade to 3.6.0 now!
All going well, this should be the last release for 2010!
Free support from Ceon will only be given for version 3.6.0 in future.
Upgrading shouldn't take long.. there are a few new template files with this version which should be copied into the appropriate folders. As always, full instructions are included in the distribution which help make this process simple.
From the Revision History:
[ADDED] Support for filtered product listings having their own static URI added. Previously only a single unique set of query string parameters would allow a filter product listing to have its own static URI. The software can now extract the identifying query string parameters which allow product listing pages to have their own static URI.
[ADDED] Modified template files added to distribution to enable support for static URIs in the Manufacturers sidebox, the Music Genres sidebox, the Record Company sidebox and all of the product listing filter forms. This would seem to complete the support for static URIs in a standard Zen Cart installation. There are no further files known to have code which does not support static URIs!
[UPDATED] Software will now (once again) redirect to the static URI for a manufacturer's page, if it exists, when the index page is being accessed with the query string parameters identifying a manufacturer.
[BUGFIX] The canonical URI for the root of a site was incorrectly having its trailing slash removed.
[UPDATED] Checks against the query string parameters being used to build links are now case insensitive.
[UPDATED] Order of checks against query string parameters changed so that the check for the identifying parameter for a category is now the last check made. This has been done in case any other software uses links which have the category query string parameter in them, so that these [hypothetical] links won't have their static URIs incorrectly overridden by a static URI for the associated category.
Download version 3.6.0 now!
Once it has been confirmed that this version does everything necessary for a Zen Cart store to be able to use static URIs for all of its URIs and that this software works without any ill effect, the distribution will be uploaded to the Zen Cart downloads area. In the meantime please use the above link.
Enjoy!
All the best...
Conor
ceon
Hi Conor, excellent work... one small thing tho?.. in the download the files for your latest mod appear to use files from 1.3.9b. I had a little look at one of the files (admin/categories) via winmerge and notoiced this.
Hi Martin,
How are you?
Yes, that's why they were in a folder called "139b"! :-P
You have reminded me though.. I did indeed forget to add sample files for 1.3.9c!
I've released version 3.6.1, the only change being:
[ADDED] Sample modified core files for Zen Cart 1.3.9c added to the distribution.
Download 3.6.1 now!
Enjoy!
All the best..
Conor
ceon
i am trying to get the google base feed working along with the URL mapping, but in vain. I understand that it is caused by the mapping, coz its works just fine with the mapping being turned off. Will you be able to give me a head start on what do i need to do to get it working?
Thx in advanced.
Your question/request is vague.. "doesn't work" says nothing about the specific issues being experienced and makes it impossible for anyone to provide you with any kind of assistance..
Based on what did you come to this particular conclusion???? I know there are problems with the Googlebase feeder module and SSU, but I have no issues with this working right alongside Ceon's URI module..
Conor, as advised I have upgraded the CEON URI Module to version 3.4.2.
However I still have site navigation problems.
As before, sometimes the site navigation works ok, but other times, clicking a link displays a different seemingly random page.
Pressing F5 sometimes displays the correct page, sometimes does not.
I am at a complete loss as to how to resolve this and it is losing me business from the site. Many customers have also reported the problem.
I have spoken to the hosting company (JSWeb) and they say that the problem is not their servers but the CEON module. I am getting passed back and forwards.
JSWeb suggest I should change the SEO URL module, but I really dont want to do this unless there is no other option.
JSWeb not using a cloud computing model but load balanced servers.
They said that it could be my .htaccess file. it is below (couldnt attach it) could you please check that it looks ok.
##### NOTE: Replace /shop/ with the relative web path of your catalog in the "Rewrite Base" line below:
Options +FollowSymLinks
RewriteBase /
RewriteEngine On
# Don't rewrite any URIs ending with a file extension (ending with .[xxxx])
RewriteCond %{REQUEST_URI} !\.[a-zA-Z]{2,4}$
# Don't rewrite admin directory
RewriteCond %{REQUEST_URI} !^/admin.* [NC]
# Don't rewrite editors directory
RewriteCond %{REQUEST_URI} !^/editors.* [NC]
# Don't rewrite payment pages/callback handlers
# (Won't be rewritten by rules above but included here in case rewriting of URIs ending in .php is added)
RewriteCond %{REQUEST_URI} !^/ipn_main_handler.php.* [NC]
RewriteCond %{REQUEST_URI} !^/iridium_3d_secure_iframe.php.* [NC]
RewriteCond %{REQUEST_URI} !^/localities_remote_loader.php.* [NC]
RewriteCond %{REQUEST_URI} !^/nochex_apc_handler.php.* [NC]
RewriteCond %{REQUEST_URI} !^/protx_direct_3d_secure_iframe.php.* [NC]
RewriteCond %{REQUEST_URI} !^/realex_remote_3d_secure_iframe.php.* [NC]
# Don't rewrite cPanel directories
RewriteCond %{REQUEST_URI} !/cpanel.* [NC]
RewriteCond %{REQUEST_URI} !/frontend.* [NC]
# Handle all other URIs using Zen Cart (index.php)
RewriteRule (.*) index.php?%{QUERY_STRING} [L]
Please advise
Many thanks
David
"Load balanced" tends to suggest that internally there's multiple versions of the site, that they are not quite in sync with each other, and that the effect is seen because visitors are connected to a random server each time.
In other news, 3.4.2 is ancient history and 3.6.1 is the current version. If nothing else check out the newer version of the .htaccess file with a number of syntax improvements and efficiency gains.
Sorry if Im stating the obvious, but perhaps you're browser (and many of your customers browsers) have cached the old pages?
Its possible that the issue will disappear over time, as each browser refreshes its content.
If you're on a PC, try CTRL + F5 as the good ole 'forced refresh' (reloads everything) and see if that helps?
-Scott.
:yes: I'm fairly certain the OP will have the SAME or similar issue with another SEO module. Ceon URI is (IMO) the only module that just works correctly from the JUMP and the only REAL work required to make it work is setting up the .htaccess file correctly.. Plus it is better supported by it's author than others which are only either partially supported, or failing and not supported at all..
:yes: OP should definitely upgrade..
Many thanks for all of your suggestions. I have however previously upgraded the module five times but the issue remains the same.
I will upgrade to 3.6.1 but dont hold out much hope that it will cure the issue !
I will also update the .htaccess file which I assume is included in 3.6.1
David
Hi David,
Yes, I'd imagine it will as this problem is not a problem with the module. As I said, it can't return random results, that's an impossibility.
The only thing that can be happening is that your host's MySQL server is returning different results for the same query.
That would suggest different data being present in different "instances" (I don't know the terminology I'm afraid) of the load balanced servers.
Yes, your .htaccess file is well out of date, the new one is that little bit more efficient. It won't affect the issues you're having though.. only your host can sort those issues out.
All the best..
Conor
ceon
I agree with Conor, though I am not a programmer, after years of working in software development I do understand how software works.. Looking at Ceon URI's backend, the issue you are describing CANNOT possibly be caused by the Ceon URI module.. The way Ceon URI works cannot cause the issues you are describing..
If your host INSISTS that this module (Ceon URI) is the cause of your issues, then they should help you resolve this by providing more CONCRETE data than they have been provided to back up this assertion (which I will guess they will not be able to do). If they are so sure that this module is the cause, they should be able to provide a SPECIFIC reason why they've come to that conclusion..
Good luck..
Hi,
Yes, that's strangely one of the things about computing that once you grasp you really do become much better at fixing problems.. computers can't do random.. it's an impossibility (well, outside of hardware failure).. as mathematical machines everything is inherently predictable... so if "unexpected" results are occurring then what is happening is simply not what you thought was happening, the process isn't what you thought it was/is! :)
They absolutely can't as the data is irrelevant in this case.. the same "SELECT" query/command should always return the same results.. different results means different data is being examined.
I'd imagine once the load balanced servers are properly put in sync this problem will have been fixed.
All the best..
Conor
ceon
Hi Conor I know I read this somewhere on the thread but since all the updates I will ask it again. It I already have an online store with 1000's of products will this module automatically Manage URL Aliases for me or just when you add a new product. In other words do I have to set my product manually in my store to point to the URL I want it to use. Thank You
If you have an existing store, you will have to generate the URLs for each product when you first implement Ceon URI.. That's the bad news.. BUT if you are comfortable working directly in your database, you can upload all of your initial product URIs directly into the database.. (This is what I have done for two existing sites with large numbers of products) AND you can upload the URLS your product are currently using/generating using SSU so that you don't lose any SEO momentum.. After the initial URI population, if you have the settings configured to use the auto-generation of Ceon URI, then your URIs will be generated as you crate new products/categories...
Conor, I'm in the process of upgrading to v3.6.1 of the URI Mapping module and have a teeny suggestion for the future installation.
For ZC v1.3.9b, the install overwrites /includes/init_includes/init_canonical.php ... but it doesn't have to! If you place your version of the file in /includes/init_includes/overrides/init_canonical.php, the standard ZC loader will use that version instead of the default.
Thank You I will have to think about this for a while. I don't mind working in my database at all. I need to figure out how to go about the process first. I use Simple Seo with no problems, but I thought I would look into Conors since there is a little more support and no big cache files to be cached on my sever. Thank You again
Hi,
Argh, I thought I'd done that. Obviously I haven't. I've also missed another file which is supposed to be in /includes/init_includes/overrides
Will have to get version 3.6.2 created and out soon then.
It never ends!
(As you can see in the installation docs, the file includes/init_includes/init_ceon_uri_mapping.php is listed in both "new files" and "updated core files"... that wasn't supposed to be!).
All the best..
Conor
ceon
I understand that I can add some file exclusion at the .htaccess file to prevent or allow some files being remapped. I had installed the google base feeder onto my cart, and everytime I run the feeder it will give me some error message.
I understand that it may be caused by the URI mapping addon, as it does give me a positive reply when I am disabling the remapping module.
Can you provide me with a head start on how to add a statement at the .htaccess file to prevent the googlefroogle.php being processed by the remapping module?
Thanks a lot.
Hi,
All the information you need is in the documentation. I've really done my best to make it as easy to read as possible, it's the "head start" you need! :)
Look in the section "Ensuring 100% Compatibility with Third Party Zen Cart Modules - Specifying Individual Files to be Excluded from URI Mapping"
The file you are looking to exclude appears to be /googlefroogle.php.
All the best..
Conor
ceon
Hi,
Unfortunately a file was missing from the previous version of Ceon URI Mapping and a file for Zen Cart 1.3.9 was in the wrong folder. Subsequently version 3.6.2 has been released with the correct files/paths and updated documentation.
Everyone must upgrade!
Versions prior to 3.6.2 are no longer supported for free by Ceon.
Sorry about the mistakes in packaging the recent versions!
From the Revision History:
[BUGFIX] Modified version of breadcrumb core file was missing from the distribution.
[BUGFIX] Modified version of canonical core file was in the wrong folder in the distribution - should have been in the init_includes overrides folder instead of the main init_includes folder.
[UPDATED] Minor documentation updates (including the correction of the incorrect information regarding the canonical override file).
Upgrading should only take a few minutes. For those using 3.6.1 and Zen Cart 1.3.9 you simply need to copy the init_canonical.php file into the overrides directory and to copy the new init_add_crumbs.php file into the same overrides directory.
For anyone using different versions please follow the upgrade instructions in full. Again it should only take a few minutes!
Please read the previous announcements and/or the Revision History to find out about all the changes in the recent versions.
Download 3.6.2 now!
If this is (hopefully) the final version then it should also be available from the downloads area soon.
Enjoy!
All the best...
Conor
ceon
I thought i would message you before carrying on my investigations to see if you had a quick fix solution or had come across this issue before.
I'm using the latest version of you SEO Mod and have never had any issues before however this time i just can not seem to spot the problem. We currently use your site on a large number of website so when i found this error i have been left a little stumped.
Basically if you go to this page rusticplayland . com / Playgrounds
and try and view the next page it seems to stick on the first page product listings - i was wondering if you have had this error before?
The same sticking error is also happening on the "playground games" & "playground markings" sections.
As i said before i have never had this happen before so if you have any pointers that would be fantastic.
Regards
Just to let you all know it was a mapping issue with the "playground" category - I simply made another one and moved the products so everything is working as it should again.
Not really sure how it happened in the first place however its fixed now, keep up the great work :)
Regards
Hello
my site has a directory that holds the e-commerce site in it "/automotiveshop/" then after this I have the products etc... so any URI in the site that I generate manually has to have /automotiveshop/ first in the URI config to work for example "/automotiveshop/distributors/lucas-type-45d-mini-mgb-austin-sports-performance-electronic"
is there a way around this as I think the first word is ranked higher than the second and all of mine will be seen as /automotiveshop/ ???AM I RIGHT???
Hi,
There are no known "issues" with the software so you must have had some sort of problem with your database which replacing the mapping fixed.
Glad you like the software!
All the best..
Conor
ceon
Hi,
Move your Zen Cart installation into the root of your site so you don't have to use "automotiveshop" - simple!
You can then do a search and replace on a database dump to remove the "automotiveshop" from currently generated URIs.
I think stronger preference is given but I seriously doubt it would have much effect on your rankings.
All the best..
Conor
ceon