7 days without coffee.
5 hours of sleep.
1.5 hour commute.
What does that equal?
A whole lot of complaining and happy hour visits.
[04-Dec-2018 22:13:49 UTC] PHP Fatal error: Call to undefined function add_action() in /home/quiksnip/public_html/marceel.com/wp-content/themes/author/inc/customizer.php on line 3
7 days without coffee.
5 hours of sleep.
1.5 hour commute.
What does that equal?
A whole lot of complaining and happy hour visits.
Write down each step in your Notes.
Copy and paste links
Can’t find it skip it
How many can you do in 1 hour?
How many in 4 hours?
Spent 1 hour trying to figure out an issue with our WordPress site.
We just created a new custom post type and tested everything on our staging site.
Everything was working fine.
We decided to push the modified files to our live site and started to add content.
These pages weren’t loading.
We discussed our steps, removed excess plugins, and copied over entire site folders…
These pages still wouldn’t load.
This damn 404 page kept showing up on everything.
1 hour later, I decided to take a walk.
I knew we did everything right…what was the issue?
I sat back down and saw the other team members frantically checking the site PHP files.
They were panicking!
I was panicking.
But I stayed relaxed and tried not to think too hard.
If we did everything right, it must be a simple problem.
A problem we have no control of.
Once I thought about that, a lightbulb popped into my head.
No way could this fix the issue, I thought.
I navigated to the permalink structure page and didn’t change anything. I just hit “save changes”
Your Permalink Structure Has Been Updated
This showed up on my screen and I reloaded the issues pages.
Everything was working fine now.
The most difficult issue had the most simple solution.
Think about that next time you try overthinking.
https://1mc51l3v9iyu3otpsg36nnvf-wpengine.netdna-ssl.com/wp-content/uploads/2017/10/presonus-faderport_16-top_big.jpg | https://1mc51l3v9iyu3otpsg36nnvf-wpengine.netdna-ssl.com/wp-content/uploads/2017/10/presonus-faderport_16-top_big.jpg | https://1mc51l3v9iyu3otpsg36nnvf-wpengine.netdna-ssl.com/wp-content/uploads/2017/10/presonus-faderport_16-top_big.jpg
We need the product image to be formatted in a specific way.
image1.jpg | image2.jpg | image3.jpg
When copying the image url, you need to add [Space] [line] [Space] before pasting the next image url.
If you need to find the image url, right click on the image and save the image address. The image address will look like this.
This month I have an interesting task of building a 10,000 product database.
The only problem is: I have about 30 days to do it.
Currently there are about 3000 products listed in this database and they are all optimized for search engines.
I have identified another 4000 products that are missing from the database that need to be added.
And, from historical data, can estimate that 2000-3000 products will be added this holiday season for Black Friday and Holiday sales.
Since I only have a small team to work with, we are going to have to cut this project up into pieces and make sure we are using resources efficiently.
Here’s the breakdown:
1) Focus on getting the MVP out
2) Tweak and Adjust in Bulk
3) Import and Submit to Search Engines
This is just a theory and I will follow up in about a month to see how it pans out.
Step 1: Focus on Getting the MVP Out
With so many products missing from the database, we will need to focus all of our attention to adding them with bare bones listings.
Right now, if someone searches for a product not in our database, they get empty results.
I’d rather the database return a basic listing instead of nothing at all.
So we will focus on string the basic attributes:
Price (MSRP if possible)
Step 2: Tweak and Adjust in Bulk
After these bare bone product listings are added, we can then focus on adding additional search attributes. Export out all of the listings added within a certain time range and edit them in bulk.
Add additional details such as product descriptions, gallery images, features, specs, and taxonomies here.
The fastest and most convenient way to do this is through a collaborative spreadsheet. I suggest using Google Sheets and collaboratively working on sections based on priority.
If a brand sells well, prioritize them over a lesser known brand. If we know certain categories sell well (such as Audio Interfaces) then prioritize that over less ROI products.
Step 3: Import and Submit to Search Engines
Since we are on a tight deadline, not everything is going to be complete with 100% accuracy. This margin of error is fine at this stage.
Take this completed sheet and format it correctly for your database manager or website and import it.
This will update your simple listings with the added attributes.
After that’s uploaded, resubmit your website to Google/Bing/Baidu for indexing. This will probably shoot back hundreds, if not thousands of SEO errors, but those can always be fixed later.
Step 4: Maintain
Once the database has been filled, we need to focus on maintaining everything with updated listings and add new products that are released.
The easiest way is to have an XML feed directly from our vendors. This will dynamically update our database with the product data from the vendors database.
The only problem is most vendors don’t have these.
So we will have to rely on manually updating our listings via the price sheets we receive.
One dedicated person can handle this duty if they repeat the steps outlined above.
I have a love-hate relationship with web robots.
When programmed correctly, these robots save me hours and hours of time doing simple web tasks…such as copying and pasting data into a spreadsheet.
However, when not programmed correctly, they can literally COST YOU hours and hours of your time.
I created a simple web scrapper that copy and pastes data from a vendor website into a spreadsheet for importing.
It basically looks up key data I need, filters it, removes extra styling tags and images, and pastes the raw data into a spreadsheet.
When this robot is setup properly, I can populate a spreadsheet with 500 products in a matter of minutes. These products can then be directly uploaded to a website and be live and ready to go in minutes.
However, these bots didn’t always work this well for me.
In the beginning, this scrapper actually cost me more time cleaning up data than it did actually saved.
The web robot would scrape data from the vendors site and populate its spreadsheet (as it was designed to do).
However, after 10 minutes of running I would check the data it had gathered and noticed the data was full of random html tags, empty info, and had formatting issues that had to be cleaned up.
This scrapper gathered most of the information I needed, but the formatting was all over the place.
Data wasn’t in its right cells, descriptions were taking up multiple cells, and some categories were missing.
It took me hours to clean up this sheet and prep it for import.
I think I could have saved more time by doing the whole job myself manually.
But either way, I respect the bot for doing exactly as it was told. I just wish it would pause and ask me to fix errors before continuing to make the same error AGAIN and AGAIN and AGAIN and AGAIN.
Today I had a seemingly easy job of importing products into WordPress using a CSV.
The site I was working on had WooCommerce and a couple of premium plugins already installed, so I assumed the best.
Little did I know, I would run into trouble cross referencing import data with actual product data.
Here’s the story:
I was sent 2 CVS wth product data filled out. Product name, price, description, and image reference links were all included in the data. Everything looked good to go, so I merged data from both these sheets into one single import sheet using Excel.
I prepped the column headers using the documentation from WooCommerce, but noticed some of the headers in the import sheet weren’t listed in the WooDocumentation (Slug, MSRP, and Brand Name). So I just added custom attribute headers and saved the workbook as a CSV.
To import the data, I preferred to use the WooCoomerce add-on “Product Im/Ex” (I recently used the plugin on a large SEO overhaul). I used Im/Ex to MERGE already created product data.
Since I was now adding new products, the process was a little different, but the UI/UX looked the same.
I selected the sheet I wanted to import. I mapped the header columns for import and set any unmapped headers as custom attribute mappings.
I ran the import.
This import sheet only contained 26 products, but for some reason, the importer only found 4 and each has errors.
To sum it up, it did not work.
At this point I began scratching my head and started to move around columns in my CSV.
Maybe the title had to be first.
Maybe any unmapped headers had to be removed.
Maybe the plugin doesn’t work with new products.
I made various changes and tried 7 variations of the sheet before it all worked as planned.
THE ISSUE: Microsoft Excel Formatting.
Apparently the sheet I was sent had formatting issues. This could have happened directly from the person sending me the sheet, or via my Mac’s Excel app. Who knows?
I copy and pasted the data into a Google Spreadsheet and pulled the sheet back down as a CSV.
Once I imported this CSV, all of the column headers were picked up as usual and all 26 products were imported successfully as drafts.
Each of these products appeared as FREE products and had long ugly URL slugs. They also didn’t have the MSRP price that was on the Spreadsheet and I once again was left scratching my head.
Basically I had to remove all “$” symbols from the price signs and reimport the sheet in order for the process to appear correctly. But instead of importing as new products, I had to merge these products using the SKU (You can only merge products with a product/post ID or SKU number with the WP All Import plugin).
After merging this sheet again, all of the products looked great. Each was categorized correctly, had updated prices, product pictures, and descriptions. Now I just need to find a way to import the MSRP price and update the product slugs.
After 20 minutes of trial and error imports using the product Im/Ex plugin, I noticed it wasn’t getting the job done.
In order to merge custom fields data, I was going to need to use my favorite import plugin: WP All Import.
I fired this bad boy up, mapped the custom data, made sure to choose UPDATE ONLY THE SELECTED DATA options and reached the final step before discovering another problem.
In order to merge that data, I would need the product/post IDs.
*Note- I am using the free version of the plugin. There is a paid WooCommerce add-on that probably makes this process easier.
In order to find the product IDs, I needed to filter out the products I just imported from all 4000+ on the site.
So I opened up Store Export plugin (I have the premium version which allows me to export Brands, MSRP, and other Custom Field options, like SEO data)
Using the filtering options on Store Export, I was able to filter out:
1. all products from the specific brands I just imported
2. All products with a published status of DRAFT
This exported maybe 31 products, that included the product ID and all of the attributes that were linked to that product.
I was able to remove the extra products (I didn’t need) and save this export sheet for the next step in my product import chain.
Using the data from this product export, I created a new row on my original import sheet called “ID.”
I used a simple VLookup formula that searched for the product’s name, and generated the corresponding Product ID number.
Once everything was good to go, I saved this workbook as a CSV and went back to WP All Import.
In the import settings, I updated my selected sheet and kept the previous slug and (MSRP) custom field mappings I previously set up. Made sure that UPDATE THIS DATA ONLY option was selected and ran the import. All 26 products were successfully updated.
I took a look at the new drafts,
All the data from the original import sheet was now migrated over as products and my work was done.
This process took me about 1.5 hours to complete and was my first time running into the error.
I probably could’ve saved time by purchasing the WP Import WooCommerce Add-On Plugin, but the good ol’ fashion way never hurts.
Literally spent 2.5 hours creating social media posts for my audio products brand.
How many posts you ask?
2 weeks worth of content.
Tailored for Instagram, Twitter, and Facebook.
I always ask myself why creating these posts take so long. I mean, nothing is overly difficult to do.
I create a list of products (based on category) and fill out the specs in a spreadsheet. Simple specs such as the title, price, main image, and brand logo.
I then port these specs into a Photoshop template that creates all of the image variations. Then I review each file and make minor adjustments before exporting out all of the high quality images.
This process takes about 1 hour. Depending on how long it takes to gather and source images.
I then write short 150 character posts for twitter and use Hootsuite’s bulk editor to schedule these posts out on Twitter and Instagram.
I add hashtags, attach the edited images, and adjust language for each post. I also make sure to tag the product brand for additional exposure. This process takes maybe 1-1.5 hour at most.
After these posts are scheduled, I add each of these products to my Facebook page’s store.
I navigate to my brand’s page and add each product to a specific collection, set the titles, descriptions, images, and price. Then send it over for Facebook’s approval.
20 minutes at most.
Now that I think about it, that does add up to about 2 hours of work.
I’m always on a quest for speed so I wonder if there is a faster way to streamline this entire process.
If you are currently managing a large e commerce site and find it time-consuming to keep up with updates, this post is for you.
I currently use Excel to update thousands of products, images, titles, metadata, and prices very fast.
The secret power is within’ the CSV.
This format allows you to make bulk edits to products and posts on one single sheet without the need to keep searching and updating products via WordPress.
Yes you do need a couple of plugins to make this work smoothly. Some are paid plugins which I normally wouldn’t suggest on smaller sites, but a couple of dollars spent early on your site could save you THOUSANDS in hourly work later on. Take my advice on this one readers.
I would suggest Store Export, WP All Import, and Import/Export from WordPress.