前幾天寫的SEO系列,看的人多,也有人說方法不對,誤人子弟。
      其實有一點我想澄清下,我寫的文章也好,方法也罷,大多來源于自己項目,也許我不是每個細節(jié)都寫得很詳細,很透徹。所以大家的效果也是有差別的。話說回來,本來寫公眾號就是為了記錄工作片段,自己研究的東西就應該事無巨細的傾囊相授么?
      面對一些方法,與其去質(zhì)疑,還不如靜下心踏踏實實的測試。也許你還在質(zhì)疑的時候,別人已經(jīng)拿到排名了。
      就像我之前寫的創(chuàng)建內(nèi)容的方法,確實是AI寫的,也確實能把關(guān)鍵詞做到1-2頁。不光是我自己,其他人也有成功的案例。
      算了,也不糾結(jié)這些事情了。
      今天說說Woocommerce 產(chǎn)品太多(幾萬條產(chǎn)品),怎么批量去修改產(chǎn)品價格和促銷價。
      市場里應該有這種產(chǎn)品打折的插件。因為我站點情況不一樣,我需要更新數(shù)據(jù)庫里的價格而不僅僅是顯示,所以只能自己寫個小程序來遍歷產(chǎn)品。
      Woocommerce 產(chǎn)品分Variable和Simple ,這兩種產(chǎn)品的方法是不一樣的。
      Simple產(chǎn)品,取產(chǎn)品原價是?$product->get_regular_price() ,促銷價可以根據(jù)自己的具體折扣計算。 然后用程序更新產(chǎn)品價格和折扣價,保存到數(shù)據(jù)庫。

      if ( isset($sale_price) && ! empty($sale_price) ) {

      ? ? $product->set_sale_price($sale_price);

      ? ? $product->set_price($sale_price); ?

      } else {

      ? ? $product->set_price($regular_price); ?

      }

      $product->set_regular_price($regular_price);

      $product->save();?

      ?echo $product_id."-".$regular_price."-".$sale_price."已處理!";

      }

      Variable,取產(chǎn)品原價是$product->get_variation_regular_price('min')?
      促銷價根據(jù)具體折扣計算,然后程序需要遍歷每個變體,我是通過Curl Post Rest api更新,并保存到數(shù)據(jù)庫。

      $variations = $product->get_available_variations();

      ?foreach ( $variations as $variation ) {

      ? $variation_id = $variation['variation_id'];

      $url="https://yoursite.com/wp-json/wc/v3/products/".$product_id."/variations/".$variation_id;

      $consumer_key = 'KEY';

      $consumer_secret = 'Secret';

      $headers = array(

      ? ? 'Authorization' => 'Basic ' . base64_encode($consumer_key.':'.$consumer_secret )

      );

      $data = array(

      ? ? 'regular_price' => $regular_price,

      ? ? 'sale_price' => $sale_price

      );

      $curl = curl_init();

      curl_setopt($curl, CURLOPT_URL, $url);

      curl_setopt($curl, CURLOPT_POST, true);

      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

      curl_setopt($curl, CURLOPT_TIMEOUT, 240);

      curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

      curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));

      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

      curl_setopt($curl, CURLOPT_USERPWD, "$consumer_key:$consumer_secret");

      $resp = curl_exec($curl);

      $status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);?

      curl_close($curl);

      }

      echo $product_id."-".$regular_price."-".$sale_price."已處理";

      最后還有值得注意的一點,因為產(chǎn)品很多,如果直接執(zhí)行php, 會運行超時,所以要產(chǎn)品分頁去執(zhí)行。

      $offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;

      $args = [

      ? ? 'post_type' => 'product',

      ? ? 'posts_per_page' => 1,

      ? ? 'offset' => $offset,

      ? ? 'post_status' => 'publish',?

      ? ? 'orderby' => 'ID',?

      ? ? 'order' => 'DESC',?

      ];

      $products = wc_get_products( $args );

      $count = count($products);?

      每次執(zhí)行結(jié)束后,跳到下一頁。

      ?$offset = $offset + 1;

      ?header("Refresh: 3; URL=?offset=".$offset);?

      這樣就能完美的更改數(shù)據(jù)庫里面的價格和促銷價。當然產(chǎn)品標題,產(chǎn)品分類,產(chǎn)品tag ,產(chǎn)品描述等等,都可以用這種方法去更改。 ?

      大家可以自己思考下,如果我們新建一個站點,產(chǎn)品的題目 ,描述,tag ,短描述全部變了,是不是就等于新站了,Google 里會不會認為是新網(wǎng)站,我測試的結(jié)果:是 。
      今天的文章就寫到這里。我是做跨境的老王,歡迎大家找我聊聊SEO,vx:6860145 (不用問在不在,可以直奔主題)


      點贊(1) 打賞

      評論列表 共有 0 條評論

      暫無評論

      服務號

      訂閱號

      備注【拉群】

      商務洽談

      微信聯(lián)系站長

      發(fā)表
      評論
      立即
      投稿
      返回
      頂部