Miva + WordPress

40
SESSION TITLE Presenter’s Name MIVA + WP PRESENTER: Andrew Gray, CTO TGK

Transcript of Miva + WordPress

Page 1: Miva + WordPress

SESSION TITLEPresenter ’s Name

MIVA + WPPRESENTER: Andrew Gray, CTO TGK

Page 2: Miva + WordPress

MIVA since 2009WP since 2008

MIVA since 1999WP since 2009

EXPERTS IN ECOMMERCEEXPERTS IN AWESOME

Full-Service Digital Marketing Agency in Wilmington, NC

@tayloegraykrist

/tayloegraykristof

Page 3: Miva + WordPress

Getting to Know You

• Who has a WordPress Site and a Miva Site?– Hosted on the Same Server?– Hosted on Different Servers?

Page 4: Miva + WordPress

• Improved Content Management– Blog / News Posts– Custom Post Types

• WordPress Plugins– Forms, Events, etc

• Adding eCommerce to an Existing Website

Why would you want to do this?

Page 5: Miva + WordPress

Custom Post Type (CPT) / Plugins

Page 6: Miva + WordPress

Three Ways to Combine WP/MIVA• Subdomains

– Miva.domain.com / WP.domain.com– Store.domain.com / www.domain.com

• Sub Folder– www.domain.com/wp/– www.domain.com (miva)

• Shared folder– www.domain.com (miva/WP code)

Page 7: Miva + WordPress

Shared Folder

• Miva Files

• WordPress Files

Page 8: Miva + WordPress

Install WordPress• Wordpress.org/download/

– Unzip– FTP Files– Create WP Specific Database– Backup .htaccess– Visit Install URL

• : http://example.com/wp-admin/install.php– Enter DB credentials

Page 9: Miva + WordPress

Considerations / Planning• Theme

– Same Design?• Menus

– Static or Generated?• Search

– WP or Miva Search– Third Party Search

• Login / Logout / Cart Status– How to Show Mini Basket Page / Login

Page 10: Miva + WordPress

Case StudiesSimple Blog + Miva

Streamlined IntegrationComplex Menu Integration

Page 11: Miva + WordPress

Miva Site With Blog : Sullivan Anlyan

Page 12: Miva + WordPress

Miva Site With Blog: Sullivan Anlyan

• Miva in Docroot – Blog in Subfolder

• Search: Only in Miva• Cart: Direct Link from WP• Two Themes

– Ready Theme on Miva– Bought Theme on WP

Page 13: Miva + WordPress
Page 14: Miva + WordPress

WordPress Side

• Existing Portfolio Site– Past Work (Not for Sale)– Free Plugin for eCards

Page 15: Miva + WordPress

Streamlined Integration: Defiant Whisky

Page 16: Miva + WordPress

Streamlined Integration: Defiant Whisky

• Shared Install in Root• Common (Simple Header) in Both Themes

– Login and Cart in the Sidebar• WordPress CMS: Events, Awards, News• Themes: Custom WP and Miva Theme

Page 17: Miva + WordPress

Miva Side

• In Sidebar– Cart– Login– Simple Category

• Hard Coded Top Nav

Page 18: Miva + WordPress

WP Side• In Sidebar

– News– Awards, Team,

Cocktails CPT– Events Plugin

• WordPress Managed Top Nav– Easier to Copy / Paste

Page 19: Miva + WordPress

Complex Menu Integration: liquidlogic Kayaks

Page 20: Miva + WordPress

Complex Menu Integration: liquidlogic Kayaks

• Install: Shared Install in Docroot• Basket / Login: iframe from Miva• Menu: WP Generated Menus,

– Includes Miva Product Miva From XML Feed• Share Search: Google Custom Search

Page 21: Miva + WordPress
Page 22: Miva + WordPress
Page 23: Miva + WordPress

WordPress Side

Page 24: Miva + WordPress

Basket / Login iFrame

Page 25: Miva + WordPress

Mega Menu: Two Feeds

Page 26: Miva + WordPress

Mega Menu on WP Side

• WP Code Requests Category and Product XML from Miva

• WP Processes Feed to Make Menu• WP Writes Cached Header HTML• WP and Miva Themes include header

HTML

Page 27: Miva + WordPress

Category Feed

• Custom XML Result Page

/mm5/merchant.mvc?Store_Code=LLK&Screen=XML_CAT_FEED&Category_Code=RIVR

<?xml version="1.0" encoding="UTF-8"?><menuitem><mvt:item name="category_listing" /></menuitem><mvt:foreach iterator="product" array="category_listing:products"><product><productcatlink><![CDATA[&mvte:product:link; ]]></productcatlink><productcatimage><![CDATA[&mvte:product:imagetypes:inscale_photo; ]]></productcatimage><productname>&mvte:product:name;</productname><productcode>&mvt:product:code;</productcode><productprice>&mvt:product:formatted_price;</productprice><productlink><![CDATA[https://www.liquidlogickayaks.com/mm5/merchant.mvc?Screen=BASK&Store_Code=LLK&Product_Code=&mvt:product:code;&Attributes=Yes&Quantity=1&Action=ADPR ]]></productlink></product></mvt:foreach>

Page 28: Miva + WordPress

Product Feed

• Miva XML Result Page

/mm5/merchant.mvc?Store_Code=LLK&Screen=XML_CAT_FEED&Category_Code=RIVR

<?xml version="1.0" encoding="UTF-8"?><menuitem><mvt:item name="category_listing" /></menuitem><mvt:foreach iterator="product" array="category_listing:products"><product><productcatlink><![CDATA[&mvte:product:link; ]]></productcatlink><productcatimage><![CDATA[&mvte:product:imagetypes:inscale_photo; ]]></productcatimage><productname>&mvte:product:name;</productname><productcode>&mvt:product:code;</productcode><productprice>&mvt:product:formatted_price;</productprice><productlink><![CDATA[https://www.liquidlogickayaks.com/mm5/merchant.mvc?Screen=BASK&Store_Code=LLK&Product_Code=&mvt:product:code;&Attributes=Yes&Quantity=1&Action=ADPR ]]></productlink></product></mvt:foreach>

Page 29: Miva + WordPress

WordPress Code (PHP)• Get All Categories from Feed

– Loop Through Categories• Get All Products in Category

• Generate Menu HTML• Write Static File to Server

Page 30: Miva + WordPress

Menu HTML

Page 31: Miva + WordPress

WP and Miva Themes Include Header HTML

• WordPress: – If Generated Header Does Not Exist, Generate– Otherwise

• <?php include_once('generated-header.html'); ?>– MIVA

• <mvt:assign name="g.file_read" value="file_read('/wp-content/themes/ll/generated-header.html','script', g.wordpress_header)" />&mvt:global:wordpress_header;

Page 32: Miva + WordPress

Considerations• How Do You Update a Stored Header?

– WPCRON in WP– CRON Calling URL– Manual Link

• High Traffic Site Should Avoid External Calls– <mvt:item name="toolkit"

param="callurl|header|https://www.liquidlogickayaks.com/wp-content/themes/LiquidLogic/generated-header.html" />

Page 33: Miva + WordPress

Search: Google Custom Search

Page 34: Miva + WordPress

Search Options

• Customize WP Search Results Using XML Feed from Miva

• MIVA Search That Ignores WP Pages• Third Party

– Google Custom Search– Search Spring– Unboxed

Page 35: Miva + WordPress

.htaccess File: Force SSL

Page 36: Miva + WordPress

.htaccess File: WP and Miva

Page 37: Miva + WordPress

Security

• Miva and WP Backups• WordPress Updates

– Be Wary of Purchased Themes / Unsupported Plugins

• Malware Scanning– We Recommend Wordfence

Page 38: Miva + WordPress

Scaling

• Denial of Service (DDOS)– We Recommend CloudFlare

• Caching: WordPress Plugins– We Recommend SuperCache

• CDN– We Recommend MaxCDN (Origin Pull)

Page 39: Miva + WordPress

Questions?

Feel free to email [email protected] for code samples.

Page 40: Miva + WordPress