Guest Posted January 22, 2005 Share Posted January 22, 2005 Hi, guys Installed this contrib... works like a Swiss watch. Now, eeee, I have one stupid q: How many files should be in the cache directory? :blush: I have only one file - seo_english.cache. Is that OK? Thanks <{POST_SNAPBACK}> Just one file...that's all it needs. Of course, if you have other languages installed there will be other files similiarly name (seo_spanish.php, etc) Bobby, Thank you for the Ultimate SEO contribution :-D it is truly awesome! I have two questions for you about duplicate URLs: 1. Froogle Data Feed Does your Data Feed contribution submit stock osC URLs for product pages, similar to the basic Froogle Exporter? If so, it there a way to submit Ultimate SEO URLs? 2. Site Map MS2-2.2 (abstracted from 2.2-MS3 CVS snapshot) This excellent Site map displays sub-category URLs as standard osC format, Example: Pens Site Map I tried including sitemap.php in your .htaccess, but it did not change anything. Does a reference to Ultimate SEO need to be included in the classes file used for building the category tree " included/classes/category_tree.php"? Again, many thanks for your contributions. With kind regards, EricK <{POST_SNAPBACK}> 1. I do not recommend my Froogle feeder. I started it as a base class for extending other feeds but the interest in it by the members never materalized. Hence, it has not been developed into a mature, production ready contribution. It is a great concept and nice base class but not the level needed for production stores. 2. I don't know...I'll download the contribution and take a look. As long as the URL's are being constructed with tep_href_link() they should be SEO'd. ...And only on the admin side. Any idea why this might happen? <{POST_SNAPBACK}> Those symptoms do not sound like they are cause by this contribution. The only change on the admin side is including the file to delete the cache. It does not affect functinality or other code on the admin side. I would guess that you botched the admin code installation or have another contribution that is causing this. Bobby Quote Link to comment Share on other sites More sharing options...
johnniefp Posted January 22, 2005 Share Posted January 22, 2005 Can the SEO url be truncated? My store has long very product titles, which would lead to: http://www.mystore.com/this-is-an-extremel...ption-c-25.html Can this become: http://www.mystore.com/this-is-an-extremely-long-c-25.html Where can I use substr() in this contrib? ta john Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 Can the SEO url be truncated?... ta john <{POST_SNAPBACK}> Yes they can! Very good suggestion and I'll put that into the next release! First, add this function to includes/html_output.php: function short_name($str, $limit=3){ $foo = explode('-', $str); foreach($foo as $index => $value){ switch (true){ case ( strlen($value) <= $limit ): continue; default: $container[] = $value; break; } } # end foreach $container = implode('-', $container); return $container; } You should change the default value of the $limit parameter to meet your needs. As set it will filter all words that are 3 letters and less leaving only words with 4 letters or more. Next, make these changes in tep_href_link() located in html_output.php: $rewrite_page_product = constant('PRODUCT_NAME_'.$p2[1]) . '-p-' . $p2[1] . '.html'; becomes: $rewrite_page_product = short_name(constant('PRODUCT_NAME_'.$p2[1])) . '-p-' . $p2[1] . '.html'; $rewrite_page_category = constant('CATEGORY_NAME_'.$p2[1]) . '-c-' . $p2[1] . '.html'; becomes: $rewrite_page_category = short_name(constant('CATEGORY_NAME_'.$p2[1])) . '-c-' . $p2[1] . '.html'; $rewrite_page_manufacturer = constant('MANUFACTURER_NAME_'.$p2[1]) . '-m-' . $p2[1] . '.html'; becomes: $rewrite_page_manufacturer = short_name(constant('MANUFACTURER_NAME_'.$p2[1])) . '-m-' . $p2[1] . '.html'; Notice: all we did was add a function called "short_name" to html_output.php and then called that function for each product, category, or manufacturer name in REWRITE only. Do not perform those steps for the cName option! I'll update the install file directly. Bobby Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 I uploaded a release that incorporates the short word filter list... Bobby Quote Link to comment Share on other sites More sharing options...
aspiringarts Posted January 23, 2005 Share Posted January 23, 2005 I'm not having a lot of success today with search engine-friendly contribs... I completely backed out of SEF earlier today, after having lots of trouble. Then I found yours, and the documentation is excellent. However, I'm still having a problem. The error I'm getting is Warning: implode(): Bad arguments. in /www/s/susanrm1/htdocs/catalog/includes/functions/html_output.php on line 33 I've used the replacement code you're supposed to use if cache is off, which it is. I've tried deleting and replacing the code several times, but no luck. I've gone through every step several times, no luck, and I didn't see anything about it on the forum. Otherwise, the URLs are turning out correct. Interestingly, by experimenting, I found the error went away with cname-type URLs. This suggests there *may* be an issue with my .htaccess file. Here are the lines I added - I can quote the whole file if requested: RewriteEngine On # Change "folder" to your catalog directory name RewriteBase /catalog/ RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING} RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING} The cname URLs will work for me for now, though ideally I'd like to use the other format. Have I found a bug? ;) My site is http://www.aspiring-arts.com/catalog/ if you want to check it out. Quote Link to comment Share on other sites More sharing options...
aspiringarts Posted January 23, 2005 Share Posted January 23, 2005 On further investigation, I'm seeing that the error turns up in the code you just added today, to shorten the product URLs. Line 33 in my html_output file is $container = implode('-', $container); I also notice that the code changes are slightly different from the ones you posted here on the forum. Could this error be related to those? Thanks again, Susan Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 What is your URL? Which URL is giving this error? All of them or one in particular? Bobby Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 The only time that I can recreate the error is if I set the filter list limit so it cuts every word out of the URL. For example, if I set the limit to 15 characters it will filter all the words out and thereby not have anything to implode. Even if there is just 1 word in the array after the filter it will implode successfully...so it leads me to believe that you have the limit set too high. Try setting the value at 0 which effectively disables it. Bobby Quote Link to comment Share on other sites More sharing options...
aspiringarts Posted January 23, 2005 Share Posted January 23, 2005 The only time that I can recreate the error is if I set the filter list limit so it cuts every word out of the URL. For example, if I set the limit to 15 characters it will filter all the words out and thereby not have anything to implode. Even if there is just 1 word in the array after the filter it will implode successfully...so it leads me to believe that you have the limit set too high. Try setting the value at 0 which effectively disables it. Bobby <{POST_SNAPBACK}> Well, I left it at the default of 3, but I'll try 0 and see what happens. I did set it at 0, and that did seem to stop the trouble, but the explanation doesn't make sense, as the characters were set at 3. One other question, less urgent: I don't really need or like the abbreviated category numbers appearing at the ends of the URLs. Is there an easy way to get rid of them? Thanks so much for all of your help! Susan Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 The abbreviated numbers at the end of the URL are needed by the code to properly pass the parameter off in the .htaccess file. In this manner I could keep from performing a database lookup and maintain as much performance as possible. It can be removed but will sacrifice speed for aesthetics. IMO, it is better to keep resources to a minimum and performance high. Bobby Quote Link to comment Share on other sites More sharing options...
bodek2 Posted January 23, 2005 Share Posted January 23, 2005 can i use Page Cache v1.5- MS2 together with Ultimate SEO URLs Quote Link to comment Share on other sites More sharing options...
johnniefp Posted January 23, 2005 Share Posted January 23, 2005 I uploaded a release that incorporates the short word filter list... Bobby <{POST_SNAPBACK}> Excellent, thanks Bobby. I'll be installing soon :-) Quote Link to comment Share on other sites More sharing options...
freee Posted January 23, 2005 Share Posted January 23, 2005 Is this contribution in any way going to cause my site to be penalised for duplicate content and what is going to happen to the page rank of each individual page eventually? Are you recommending this contribution for a site that is already established (3 years +)? Quote Link to comment Share on other sites More sharing options...
clarocque Posted January 23, 2005 Share Posted January 23, 2005 Is this contribution in any way going to cause my site to be penalised for duplicate content and what is going to happen to the page rank of each individual page eventually? Are you recommending this contribution for a site that is already established (3 years +)? <{POST_SNAPBACK}> Bobby, Is one method cName/pNname vs rewrite safer for not running in to problems with duplicates with SE like google? I have been thinking about this alot since we talked last, as some of my sites are indexed w/ SE already. Chris Quote osC Contributions I have published. Note: Some I only provided minor changes, updates or additions! Link to comment Share on other sites More sharing options...
oscarg Posted January 23, 2005 Share Posted January 23, 2005 i got a problem, when i access the allmanufacturers page i get this message: Warning: implode(): Bad arguments. in /home/oscarg/public_html/includes/functions/html_output.php on line 33 i think it has something to do with my allmanufacturers add on as i pretty much search all the pages and didnt get the error again. a link to the site problem is My Webpage. i looked around the add on code but i cant really debug it or anything, i read the whole 7 pages and didnt see anything alike... :S once again great contrib thanks chemo! <!-- all manufacturers begin //--> <?php $row = 0; $manufacturers_query = tep_db_query("select manufacturers_name, manufacturers_id, manufacturers_image from " . TABLE_MANUFACTURERS . " order by manufacturers_name" ); while ($manufacturers = tep_db_fetch_array($manufacturers_query)) { $row++; echo '<td align="center" valign="top" width="25%" class="smallText">'; echo '<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id'] . '=' . $manufacturers['manufacturers_name'], 'NONSSL', false) . '">'. $manufacturers['manufacturers_name'] . ' <br> ' . tep_image(DIR_WS_IMAGES . $manufacturers['manufacturers_image'], $manufacturers['manufacturers_name']) . "</a><br><br>\n"; echo '</td>'; if ((($row / 3) == floor($row / 3))) { ?> </tr> <tr> <?php } } ?> <!-- all manufacturers end //--> if necessary i much rather uninstall all manufacturers... thx again. O. Quote Cheers, O. Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 can i use Page Cache v1.5- MS2 together with Ultimate SEO URLs <{POST_SNAPBACK}> Yes...directions are included. Is this contribution in any way going to cause my site to be penalised for duplicate content and what is going to happen to the page rank of each individual page eventually? Are you recommending this contribution for a site that is already established (3 years +)? <{POST_SNAPBACK}> There may be issues but will take several months to a full year to be penalized. The next release or so will have 301 redirects from the old URLs to the new URLs. Given all the feedback from various information sources it will take at least 6 months to be tagged for dup content so I wanted to get the contribution out and tested for functionality...then add all the finer stuff. Bobby, Is one method cName/pNname vs rewrite safer for not running in to problems with duplicates with SE like google? I have been thinking about this alot since we talked last, as some of my sites are indexed w/ SE already. Chris <{POST_SNAPBACK}> No...they may both be viewed as duplicate content if given enough time. i got a problem, when i access the allmanufacturers page i get this message: Warning: implode(): Bad arguments. in /home/oscarg/public_html/includes/functions/html_output.php on line 33 i think it has something to do with my allmanufacturers add on as i pretty much search all the pages and didnt get the error again. a link to the site problem is My Webpage. i looked around the add on code but i cant really debug it or anything, i read the whole 7 pages and didnt see anything alike... :S once again great contrib thanks chemo! if necessary i much rather uninstall all manufacturers... thx again. O. <{POST_SNAPBACK}> The error I get when I access your site is this: Warning: main(includes/languages/english/allmanufacturers.php): failed to open stream: No such file or directory in /home/oscarg/public_html/allmanufacturers.php on line 26 Warning: main(includes/languages/english/allmanufacturers.php): failed to open stream: No such file or directory in /home/oscarg/public_html/allmanufacturers.php on line 26 Fatal error: main(): Failed opening required 'includes/languages/english/allmanufacturers.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/oscarg/public_html/allmanufacturers.php on line 26 ...which tells me it can't find the script. However, the original problem is that the manufacturers name is less than the number set in the admin control panel for "Filter Short Words". Set the number lower and it'll be OK. I'll add some error checking to the code to get around the implode issue if all the words were stripped. Bobby Quote Link to comment Share on other sites More sharing options...
Guest Posted January 23, 2005 Share Posted January 23, 2005 For everyone having problems with the new filter short words / implode code here is the patch: Find the short_name() function in includes/html_output.php and replace it with this: function short_name($str, $limit=3){ if (defined('SEO_URLS_FILTER_SHORT_WORDS')) $limit = SEO_URLS_FILTER_SHORT_WORDS; $foo = explode('-', $str); foreach($foo as $index => $value){ switch (true){ case ( strlen($value) <= $limit ): continue; default: $container[] = $value; break; } } # end foreach $container = ( sizeof($container) > 1 ? implode('-', $container) : $str ); return $container; } It adds some simple error checking for the filtered array. If it has more than 1 element it will implode the array. However, it if has 1 or less (removed all the words) it will return the original string. Just find the old function and replace it with that one...problem solved. Bobby Quote Link to comment Share on other sites More sharing options...
aspiringarts Posted January 23, 2005 Share Posted January 23, 2005 This is just like the error I was having. Ha! Not just me! And Bobby, I did include my URL on one of my messages, but here it is again: Aspiring Arts Could it be anything to do with the fact that I have NO manufacturers? And yes, it was appearing on all pages, and a detail I forgot to mention, it appeared in the Categories box, before the Categories list. Susan Quote Link to comment Share on other sites More sharing options...
aspiringarts Posted January 23, 2005 Share Posted January 23, 2005 For some reason I didn't see your last post, Bobby, before posting mine, and the forums wouldn't let me edit the text of my last reply. The fix worked! Thanks so much. I'm okay with leaving the end characters on now. Small addition: file is in directory /includes/functions/, for those who might need more detail like me. :) Quote Link to comment Share on other sites More sharing options...
adultsm Posted January 23, 2005 Share Posted January 23, 2005 (edited) Deleted Edited January 23, 2005 by adultsm Quote Its Only Me Alex Link to comment Share on other sites More sharing options...
adultsm Posted January 23, 2005 Share Posted January 23, 2005 Deleted <{POST_SNAPBACK}> Im not used to this Board hense my message being still here... is there a way to delete messages? For everyone having problems with the new filter short words / implode code here is the patch: Find the short_name() function in includes/html_output.php and replace it with this: function short_name($str, $limit=3){ if (defined('SEO_URLS_FILTER_SHORT_WORDS')) $limit = SEO_URLS_FILTER_SHORT_WORDS; $foo = explode('-', $str); foreach($foo as $index => $value){ switch (true){ case ( strlen($value) <= $limit ): continue; default: $container[] = $value; break; } } # end foreach $container = ( sizeof($container) > 1 ? implode('-', $container) : $str ); return $container; } It adds some simple error checking for the filtered array. If it has more than 1 element it will implode the array. However, it if has 1 or less (removed all the words) it will return the original string. Just find the old function and replace it with that one...problem solved. Bobby <{POST_SNAPBACK}> I had this problem but your new function stopped the error message. Just want to say Thanks for this contribution. seems to work well and now i will go test it further. Thnx Bobby Alex :rolleyes: Quote Its Only Me Alex Link to comment Share on other sites More sharing options...
_g_ Posted January 24, 2005 Share Posted January 24, 2005 Just installed the contrib and took me not more than 5 minutes. A great work not only code but documentation too. It works great. As someone else asked about the Froogle Data Feed. I also use the Froogle Data feed which is sent to froogle periodically using corn jobs. The initial links that were sent to froogle were like ?product_id=2334 but I changed to product_info.php/product_id/2334 Now I am wondering if someone else using the Froogle Data Feed with the Ultimate SEO URLs mod? If someone else has already modified it then it'll save me a lot of time, if not then I'll try to modify it. I think a couple of query changes will be needed and may be would need to check for the short word function (though I have disabled it.) If it has been already created then plss post the code or I'll post it when am done with it. Thanks again for the contrib, I'll wait fir the next, where you add 301 redirects. BTW oscarg if you use a couple of random blocks on a page then actually the 2 pages (SEOed and Non- SEOed) will be different. Quote Link to comment Share on other sites More sharing options...
_g_ Posted January 24, 2005 Share Posted January 24, 2005 Just added a new product but it didn't have SEOed link but a regular link, deleted the url cache and it had the new link. I have a question - How often is the seo_cacheenglish file updated? Quote Link to comment Share on other sites More sharing options...
Guest Posted January 24, 2005 Share Posted January 24, 2005 It should be deleted every time you update a product or category... Bobby Quote Link to comment Share on other sites More sharing options...
Guest Posted January 24, 2005 Share Posted January 24, 2005 (edited) Hi I have the Ultimate URL contribution installed here: www.apexdog.com, running oscmax 1.7 Everything seems to work fine but I am receiving an intermittent fatal error: Fatal error: Cannot redeclare strip() (previously declared in /home/apexdog2/public_html/includes/seo_cache.php:40) in /home/apexdog2/public_html/includes/seo_cache.php on line 40 It seems to happen in IE, but not firefox. IE will load the page if you hit the refresh button. Update: It happens in firefox as well.... Any ideas? Edited January 24, 2005 by apexdog Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.