We're having problems with our rewrites in Magento. Per day thousands of new product rewrites are being generated. At the moment we have 236940 product rewrites in our store and no solution yet.
It seems there is a loop in the rewrite process. The problem seems much like the one in this post: Magento - Removing numbers in url key/product url
The problems has something to do with having identical product url's.
This issue generates two problems:
1. the products will have a different URL daily in Google
2. the magento installation is filling with rewrites, which most certainly will cause trouble
What should we try to fix the product rewrite loop?
You will lose all of your stored rewrites by doing this, but you could truncate the core_url_rewrite table and re-index. That would give you a fresh start.
Related
We have a problem with catalog price rules in 1.9.0
We uploaded 1000 products in a site.
After catalog price rules to give discount for 500 products, there is no date limit for catalog price rules. Those special prices are displaying only until mid-night.
Next day, after mid-night, special prices are not displaying in site.
cron job is working fine.
Please help me to find some solution.
this issue was only solved for me with this:
The problem is in Mage_CatalogRule_Model_Action_Index_Refresh::execute() function. You will have to rewrite this function/class either in your extension, or via the local version of the file.
You have to replace line 121 here :
app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php
$timestamp = $coreDate->gmtTimestamp('Today');
with this line:
$timestamp = Mage::app()->getLocale()->date(null, null, null, true)->get(Zend_Date::TIMESTAMP);
view the original post:
https://magento.stackexchange.com/questions/67970/catalog-price-rules-disappear-after-mid-night
Step 1:
Please make sure that Cron is working fine. For this you can install AOE Scheduler extension.
Step 2:
You need to debug the issue by debugging magento tables. Following tables used for catalog rules:
catalogrule
catalogrule_affected_product
catalogrule_customer_group
catalogrule_group_website
catalogrule_product
catalogrule_product_price
catalogrule_website
You can delete all catalog rules and create one single rule for one product and check following tables:
catalogrule_product - In this table Magento will manage all product discount percent for all customer group.
catalogrule_product_price - In this table Magento will manage discounted final price for each product. Here magento will insert three days record for each record. you can check this by "rule_date" field.
If it is work perfectly. Then Again After deleting all Catalog rules again, Please truncate following tables from MySQL.
catalogrule_product
catalogrule_product_price
As due to many records primary key reach on maximum limit and try again by creating rule for 500 products. hope it will start work.
Hope this help!!
As stated above by #Davi-Reinoldo the problem is with the indexer.
I had this problem as well, the issue exists when there is an offset of the local timezone greater than +01:00.
Basically just because magento is using the gmtTimestamp for the rule date which in the above stated case results in the day before today.
Therefor I developed a small module https://github.com/Chuvisco88/Chuvisco_CatalogRuleFix to fix the issue.
If someone ever has this problem, please give it a try.
I'm working for a client which has 3 websites and multiple storeviews each. For some reason he really wants to have 3 currencies and each currency it's own price per product.
So a product can cost i.e. €49,99 / $55,- / £39,95 and these prices have to be configured for each product. To clarify: There is no relation between the prices so it can't be done with an exact percentage. Prices need to differ completely.
I've found "solutions" to make 3 separate websites with each a different price for a product, but seeing as there are already 3 websites, I'd need 9 and that's just out of the question.
Also I found extensions like this: http://www.magentocommerce.com/magento-connect/currency-pricing.html - all of 'm don't work with 1.9 and especially work worse with configurable products, which happens to be the case here.
I'm really out of ideas, anyone else got a possible fix for this?
Update 06-2016 I get quite some mails about this question, if I ever found a fix or some other solution; sadly no. I did do further investigation about it and found out that this concept goes against the core-logic of the Magento (multi)store. We've now begun to work with Magento2 and will evaluate again if it is easier in this version. If I ever get to something, I'll update the question here.
There is no fix.
I think you need an own magento for every currency cause PRODUCTS ONLY USE ONE PRICE. Sadly..
After updating our 6k+ products in Magento 1.7 using CSV import with Magmi the url_keys for all product get 4-digit numbers as suffix.
e.g. before it was www.domain.com/productname.html
after update it's www.dmain.com/productname-5363.html
This happens although the url_key in CSV is set as "productname"
Only way to fix it is to clear all urls from database and reindex - but after next import it's happening again.
Has anyone an idea how to prevent this on import?
The number suffix will be added when one or more url's get the same url. Since that is not possible Magento adds the suffix. Do you know if this occurs?
You try to make product names unique before processing. For example adding a color or a model or something else from your datasource
Or you could automate the step of emptying and reindexing the core_resource table (also take a look at the Magmi plugin On the fly indexer)
I've been dealing with this problem with around 10k+ products in two store views in magento 1.7.
The URL indexing process took around 30 hours to change its state to ready. Also i found multiple entries of the same product being made in the core_url_rewrite table and the number of rows now reached upto 6500k.
This is causing deadlocks. I tried clearing the locks but that didn't help. Is there a workaround solution for this problem as this is magento core functionality?
There's some good general advice on the Magento Stack Exchange site covering common indexing problems.
It's also common for larger store to create a rewrite/code-pool-override for the following method
#File: app/code/core/Mage/Catalog/Model/Resource/Url.php
protected function _getProducts($productIds, $storeId, $entityId, &$lastEntityId)
{
//...
}
This method queries for the products that need a URL reindex. By default, this includes all simple and configurable products. However, if you're not displaying simple products individually, you can tweak this query to not include those products. That can greatly reduce the number of URLs Magento needs to generate.
My magento website has 5 store views. When we are in a product in English and select French, it redirects correctly and show the product in French. But when it comes to categories, it doesn't work at all.
I'm on a category with the url http://myweb.com/en/body-care, if I change to the Spanish view, it doesn't redirect to the url "../cuidado-del-cuerpo" it just goes to to http://myweb.com/es/body-care and shows a 404 error (it changes the 'en' for 'es', but doesn't change the last part of the url).
The rewrite is not defined on the URL Rewrite Management section. I have 5 categories and 5 store views, so it's not a good idea to create the rewrites rules manually.
How can I solve this? Why the rewrite rules were not written when we created/modified the url of each category?
1) Can you check if the urlkey is definable on store view level, or if it is set to website level? That way, you can only create 1 url key for EN and ES. You need it to be at store view level, do define 2 separate values.
2) Is there something in your error log? (and is your error log turned on?) Normally url rewrites are created automatically for each store view. If not, you may need to manually reindex.
It's hard to give further advice, since the problem could be anywhere (conflicting module? bad code?)