Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Cannot Update Product SEO description_tag

Solved

Cannot Update Product SEO description_tag

Accusize
Visitor
2 0 1

Could anyone help me with it? 

The language I use is Python. The library I use is Request. I followed the instruction of this Shopify's article: Manage SEO data with the Admin API

Although the status_code of the request I got is 200, the products' SEO description never got updated.

Here is the code.

 

import request

class ShopifyAITSEOHeader(object):
    def __init__(self,
                 key = 'xxxxxxxxxxxxx',
                 password = 'xxxxxxxxxxxxxxx',
                 product_id=0000000000):
        self.key = key
        self.pw = password
        self.product_id = product_id
        self.url = 'https://' + self.key + ':' + self.pw + '@accusize-industrial-tools.myshopify.com/admin/api/2020-10/products/#' + str(
            self.product_id) + '/metafields.json'

def update_shopify_ait_seo_description():
    shopify_header = ShopifyAITSEOHeader(product_id=0000000000)
    data={
        "metafield": {
            "namespace": "global",
            "key": "description_tag",
            "value": "10 pieces of CA quick change tool holders that hold 1-inch lathe tooling bits and boring bits",
            "value_type": "string"
        }
    }
    r = requests.post(shopify_header.url, data)
    return r

 

 

Did I miss something to update the description_tag successfully? Any response will be significantly appreciated

Accepted Solution (1)

BoxUp
Shopify Partner
38 1 15

This is an accepted solution.

Hey,

If you jump over here, it mentions to update the 'metafields_global_title_tag' property.

The post data would then look something like this:

{
  "product": {
    "id": 632910392,
    "metafields_global_title_tag": "Brand new title",
    "metafields_global_description_tag": "Brand new description"
  }
}

 

I hope this helps.

View solution in original post

Replies 2 (2)

BoxUp
Shopify Partner
38 1 15

This is an accepted solution.

Hey,

If you jump over here, it mentions to update the 'metafields_global_title_tag' property.

The post data would then look something like this:

{
  "product": {
    "id": 632910392,
    "metafields_global_title_tag": "Brand new title",
    "metafields_global_description_tag": "Brand new description"
  }
}

 

I hope this helps.

Accusize
Visitor
2 0 1

Thanks a million! Finally, I use the PUT request and the URL, /admin/api/2020-10/products/{product_id}.json to modify the metafields_global_description_tag. The code is like 

import requests, json

def update_shopify_ait_seo():
    url_put = 'https://accusize-industrial-tools.myshopify.com/admin/api/2020-10/products/{product_id}.json'.format(
        product_id=5xxxxxxxxxxx0)
    shopify_seo_headers = {
        'Authorization': 'ooooooooooooooooooo',
        'X-Shopify-Access-Token': '000000000000000000000000000000',
        'Content-Type':'application/json'
    }
    seo_data = {
        "product":{
            "id": 5xxxxxxxxxxx0,
            "metafields_global_description_tag": "10 pieces of CA quick change tool holders that hold 1-inch lathe tooling bits and boring bits"
        }
    }
    r=requests.put(url=url_put,
                   data=json.dumps(seo_data),
                   headers=shopify_seo_headers)
    return r