Launching a new Shopify theme and the best approach - shopify

I am seeking guidance on the best way to introduce a new theme onto an already complex e-commerce Shopify website.
I am new to the Shopify go-live process, this is the first time I am going to launch a new theme that I have built. I understand the building process and could do with some clarification on the go-live steps.
The job:
A complex e-commerce company has had us build a new design and way of navigating through to product pages. Introducing new collections and tags. There are also new pages and will be a dramatic change to URLs from an SEO point of view.
The store will remain in the same place, on their server, the same domain name, in their control.
I need to be able to provide them with an importable version of our development store, with guidance on how to push this live without breaking and allowing us to test the site on the live-server before opening it up to the users.
The implementation:
I have created the store, the pages, the collections, the tags, all the bells and whistles.
I have uploaded their latest database of products onto the development store and set these up into the collections and store filters.
The question:
How do I put this live onto the old store with the least down-time & having the ability to test the newly created store before customers can see it?
The break-down of the question:
What files need packaging? What is the easiest way to package up these files for the client company? What is the best way to install the packaged files? What is the best way to test the website?
One last concern:
Is it possible to keep the existing stores orders and customer user profiles?

You can preview the theme and populate data from each Section (if theme you make is a sectioned-theme). You can compiled the theme from you development and upload to their store, you don't have to send it live.

Related

How to edit different shopify storefront with one script from Shopify app

My Shopify app needs to edit storefront to change existing element. There are two ways to change storefront code in Shopify
Edit liquid theme file
Add client side JS with Asset API
However, different merchants use different themes in their stores. Is there any way my app works with every theme or how can I write a script which supports maximum themes? It would be very helpful if you can give some hints or share your thoughts about this issue.
After searching more about this issue I got some insights like Unfortunately we can't edit different theme with same script, because each theme might be very different. Some themes might even have different filenames for this sections or they might have completely different HTML structure.
There is no easy and universal way how to solve this problem. One of the ways:
You can do some heuristic in the theme files and try to find a correct place where to insert your code. For example, langify is doing that. It's scanning the whole theme and finding places where to insert their code.
You can ask a customer to add your code manually. Many apps are doing that because it will cause fewer errors. You just need to prepare detailed manual how to set it up properly.
You are wrong, exist more ways.
on storefront 2.0 you can create a theme app extension this is the recommended way today.
UPDATE: On 2.0 you should recommend your customer to replace their section with your section, this is currently the clean and recommended way to do.
On 1.0 well depends a lot on your project complexity or the part on the code your app touch...
Many apps use the theme Rest API, with that you can add on your app installation script a step for downloading the published theme. After that 2 options:
You can search and replace something specific, you can write a script then read the theme files and replace what you need to be replaced, then do the change automatically and republish your changes on the store. Faster no human intervention
use the downloaded code to easily read and replace manually the code using an IDE and after manually upload your changes using the same API. slow, need human intervention but more flexible.
You can start with option 2 now and continue to develop the script for option 1.

Trying to migrate online store,completely lost and being taken advantage of

We have an online store that used to be managed by a third party (lets call them BS Company) that did the hosting, webdesign and everything... Now we've decided to move to Shopify because this company has screwed us over in every step along the way.
We already have the store ready on Shopify. Our current website is hosted on DigitalOcean, for which BsCompany has all the access.
They are being impossible, saying that they can't transfer out of DigitalOcean because they have several client's sites with the same hosting. This sounds like royal BS. We just want to move everything to shopify.
I'm going to be on the phone with them shortly, I just want to be informed. What should I ask them to do specifically? What I'm I trying to get them to do?
I'm totally lost here guys, please help.
This goes outside of the scope of StackOveflow purpose which is to help developers with their code issues.
That said you are providing too little information here.
If you want to transfer your store to Shopify and the theme is already done then you need probably only the content from the old store.
Since you didn't mentioned what is the previous platform (WordPress/Drupal/Magento/etc...) it will be hard to provide a recommendation for an App that will import the content from the other platform to Shopify.
So pretty much you need to know what platform the current store is using. For example if you are using WordPress with WooCommerce you will need the following App in Shopify -> https://help.shopify.com/en/manual/migrating-to-shopify/import-store-app/woocommerce-migration and you will need to export the content from the WordPress.
Please have in mind that this will focus mainly on the products, if you like to import the pages and custom post types ( we are still are talking about WordPress here ) you will need some other App or custom logic.
So long story short is not an easy job if there is no App for it.
If you want to keep the SEO for your previous site please have in mind that the Shopify have a predefined URL structure that you can't overwrite.
This means that pages that were using a specific url structure will be different now and you will need to create redirect rules in Shopify manually for each page, which will be a tedious process if you have too much content.
So pretty much you need to know:
What platform the site was written at
Export of the database ( and what database was used MySQL/MongoDB/etc... )
The site files ( they need to provide them to you )
With this information you will be able to create a local copy of the site for reference.

Is it possible to customise checkout liquid with an App

I bought a shopify plus to customise my checkout page -add some html and JS to the checkout template- and I read this in the shopify documentation :
If you're on Shopify Plus, then you can edit the code for your checkout. However, if you make changes to your checkout code, then you need to upgrade your checkout.liquid template manually whenever Shopify makes an upgrade.
and I was wondering If it's possible to create an App to do that for me.
I mean :
1-Create an app to modify the checkout page.
2-After each update my app modify it automatically or at least I just re install my app and the checkout will be updated.
I already have shopify plus and managed to do that by modifying the checkout.liquid.
But It's not really an efficient way to change the checkout.liquid each time might be ok for one user but what if I want to do the same for a lot of shopify users for example.
It's a Basic concept making a plugin in other ecommerce platforms such as Prestashop, Magento ... But It seems really complicated in Shopify.
Please Help.
If you're on Shopify Plus, then you can edit the code for your
checkout. However, if you make changes to your checkout code, then you
need to upgrade your checkout.liquid template manually whenever
Shopify makes an upgrade.
This statement means that whenever Shopify introduces some changes on their end in the Checkout process they will notify you prior to update. 30 days prior as far as I know so that you can update and test. They will provide you details for changelog so that you can verify if it does break any of your customizations. Such changes are not frequenet and I cannot think of any automated way that your app will be able to analyze the changelog and decide if it affects your customizarions or not.
Since most of your changes will be in additional JavaScript it won't be much of an effort for you and will not be as frequent.
However, if you manage many stores for multiple Shopify plus customers then you may push an update manually to all stores that have your APP installed and make use of Assets API to modify checkout.liquid file.
For example, if Shopify notifies you that Checkout code is changed and you need to update it. Just review the changelog, then initiate a process on your APP backend that updates the new code to all chekout.liquid files on all the stores where your app is installed.
Assets API
Checkout Customization

Adding ecommerce options to existing site using PrestaShop

What I intend to do is to keep my website with the CMS that I have in place for 12 years because last year I've redesigned it and I've even implemented a very nice AMP version.
To my existing site which includes also product pages, I would like to integrate an ecommerce solution and the one that I like the most is Presta Shop.
Rather than migrating the content to Presta Shop, I want to just bring the stock, price, quantity and add to cart to the existing site via php by calling Presta Shop and fetching specific product IDs.
Is this possible?
So far I didn't find anything about how could this be achieved.
I've read that it could be done in Magento, but nothing for Presta Shop.
Grateful if you have any insights on this.
Many thanks,
Mihai Bocsaru
You have few options, you can use PrestaShop API via Webservice, you can also create your store in some subdirectory and copy layout from your current website
Third option would be to have PrestaShop installation on the same server and just get all the information data from its database, of course entire checkout process should be handled via PrestaShop, this is why most common scenario is to just use website layout with proper e-commerce addition, downside of those two options is that you'll have two administration panels but i guess it's not that big issue
Thank you, Krystian!
I've presented the client the benefits of having the Presta Shop run on its own folder or sub-domain, but he wants it within the site.
We might have to integrate Presta Shop ecommerce options that I've mentioned on this topic within the current web pages and adjust the look and feel of the checkout pages to match the site layout (registration, login, checkout etc.).
I will consider involving you in settings this up.

Shopify: Does different Version of same Theme with different number of posts loses Posts

I have two different versions of the same theme and two different Shopify stores.
One is live and has some latest blog posts,
other one is used for development purpose i.e some styling and has less number of blog posts.
Will download the theme from the development version and publishing it to the live website remove blog posts?
If it does then what is the best way to apply only front-end changes from one store to other?
Blog Articles (Posts I assume) exist in Shopify as resources you create, the same as any Product, Page or Collection. They do not disappear or otherwise change with Theme Changes.
When your theme is set to render a blog, it renders a number of articles based on some criteria. These days, likely a setting you can touch with the Setup of your theme, requiring no code.
If you update a theme, theoretically, the display of blog articles would not change. You should be safe as houses in other words, to play with your theme, and not see a difference in the blog articles save for what you actually change theme-wise or settings wise with regards to rendering a theme.
If you're really interested in the little bit of code involved, check your theme files for blog.liquid and article.liquid for ways you can tweak your display.
Will download the theme from the development version and publishing it to the live website remove blog posts?
No, your data is complete decouple from your theme.
If it does then what is the best way to apply only front-end changes from one store to other?
One way to avoid any data sync issue or syncing configuration between environments is to you your production environment as your dev environment.
You can duplicate your production theme, in your production environment and make changes to it and make sure you keep your theme unpublished. Shopify has a "theme preview" feature that allows users to see an unpublished theme, which can be considered as your development theme.
Most likely your environment is out-sync in some way that is why it looks like you are missing your data.