diff --git a/includes/class-syndication-wp-rss-client.php b/includes/class-syndication-wp-rss-client.php
index c986afb2931ce0ebdd603cec2981bba1fed51534..3f1e7d4c03a4f42a6228e4a48b3451b921bb2db8 100644
--- a/includes/class-syndication-wp-rss-client.php
+++ b/includes/class-syndication-wp-rss-client.php
@@ -9,7 +9,8 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
     private $default_post_status;
     private $default_comment_status;
     private $default_ping_status;
-
+	private $default_cat_status;
+	
     function __construct( $site_ID ) {
 
         switch( SIMPLEPIE_VERSION ) {
@@ -32,6 +33,7 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
         $this->default_post_status      = get_post_meta( $site_ID, 'syn_default_post_status', true );
         $this->default_comment_status   = get_post_meta( $site_ID, 'syn_default_comment_status', true );
         $this->default_ping_status      = get_post_meta( $site_ID, 'syn_default_ping_status', true );
+		$this->default_cat_status		= get_post_meta( $site_ID, 'syn_default_cat_status', true );		
 
         add_action( 'syn_post_pull_new_post', array( __CLASS__, 'save_meta' ), 10, 5 );
         add_action( 'syn_post_pull_new_post', array( __CLASS__, 'save_tax' ), 10, 5 );
@@ -75,6 +77,7 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
         $default_post_status        = get_post_meta( $site->ID, 'syn_default_post_status', true );
         $default_comment_status     = get_post_meta( $site->ID, 'syn_default_comment_status', true );
         $default_ping_status        = get_post_meta( $site->ID, 'syn_default_ping_status', true );
+		$default_cat_status			= get_post_meta( $site->ID, 'syn_default_cat_status', true );
 
         ?>
 
@@ -138,6 +141,15 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
             <option value="closed" <?php selected( 'closed', $default_ping_status )  ?> >closed</option>
             </select>
         </p>
+		<p>
+			<label for="default_cat_status"><?php echo esc_html__( 'Select category status', 'push-syndication' ); ?></label>
+		</p>
+		<p>
+			<select name="default_cat_status" id="default_cat_status" />
+			<option value="yes" <?php selected( 'yes', $default_cat_status )  ?> ><?php echo esc_html__( 'import categories', 'push-syndication' ); ?></option>
+			<option value="no" <?php selected( 'no', $default_cat_status )  ?> ><?php echo esc_html__( 'ignore categories', 'push-syndication' ); ?></option>
+			</select>
+		</p>
 
         <?php
 
@@ -151,6 +163,7 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
         update_post_meta( $site_ID, 'syn_default_post_status', $_POST['default_post_status'] );
         update_post_meta( $site_ID, 'syn_default_comment_status', $_POST['default_comment_status'] );
         update_post_meta( $site_ID, 'syn_default_ping_status', $_POST['default_ping_status'] );
+        update_post_meta( $site_ID, 'syn_default_cat_status', $_POST['default_cat_status'] );		
         return true;
 
     }
@@ -166,8 +179,13 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
 
         // hold all the posts
         $posts = array();
+		$taxonomy = array( 'cats' => array(), 'tags' => array() );
 
         foreach( $this->get_items() as $item ) {
+			if ( 'yes' == $this->default_cat_status ) {
+            	$taxonomy = $this->set_taxonomy( $item );
+			}
+			
             $post = array(
                 'post_title'        => $item->get_title(),
                 'post_content'      => $item->get_content(),
@@ -177,7 +195,9 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
                 'post_date'         => date( 'Y-m-d H:i:s', strtotime( $item->get_date() ) ),
                 'comment_status'    => $this->default_comment_status,
                 'ping_status'       => $this->default_ping_status,
-                'post_guid'         => $item->get_id()
+                'post_guid'         => $item->get_id(),
+				'post_category'     => $taxonomy['cats'],
+                'tags_input'        => $taxonomy['tags']
             );
 			// This filter can be used to exclude or alter posts during a pull import
 			$post = apply_filters( 'syn_rss_pull_filter_post', $post, $args, $item );
@@ -189,6 +209,38 @@ class Syndication_WP_RSS_Client extends SimplePie implements Syndication_Client
         return $posts;
 
     }
+	
+	public function set_taxonomy( $item ) {
+		$cats = $item->get_categories();
+		$ids = array(
+			'cats'	=> array(),
+			'tags'			=> array()
+		);
+
+		foreach ( $cats as $cat ) {
+			// checks if term exists
+			if ( ! $result = get_term_by( 'name', $cat->term, 'category' ) ) {
+				if ( ! $result = get_term_by( 'name', $cat->term, 'post_tag' ) ) {
+					// creates if not
+					$result = wp_insert_term( $cat->term, 'category' );
+					if ( isset( $result->term_id ) ) {
+						$ids['cats'][] = $result->term_id;
+					}
+				} else {
+					if ( isset( $result->term_id ) ) {
+						$ids['tags'][] = $result->term_id;
+					}
+				}
+			} else {
+				if ( isset( $result->term_id ) ) {
+					$ids['cats'][] = $result->term_id;
+				}
+			}               
+		}
+
+		// returns array ready for post creation
+		return $ids;
+	}
     
     public static function save_meta( $result, $post, $site, $transport_type, $client ) {
         if ( ! $result || is_wp_error( $result ) || ! isset( $post['postmeta'] ) ) {